Как отключить вкладки для тега <a> - PullRequest
34 голосов
/ 19 января 2009

Я использую <a> теги для ссылок на веб-странице. Как отключить клавишу Tab для выбора любого из них?

Ответы [ 5 ]

163 голосов
/ 19 января 2009

В качестве альтернативы вы можете использовать простое решение HTML.

<a href="http://foo.bar" tabindex="-1">inaccessible by tab link</a>

В спецификации HTML5 написано :

Если значение является отрицательным целым числом
Пользовательский агент должен установить флаг фокуса tabindex элемента, но не должен позволять доступ к элементу с помощью последовательной навигации фокуса.

3 голосов
/ 19 января 2009

Мне нужно было запретить использование div-ов и переполнение: у правила auto css была остановка табуляции и что я сделал (транспонировано для a):

var links = document.getElementsByTagName( 'a' );

for( var i = 0, j =  links.length; i < j; i++ ) {
    links[i].setAttribute( 'tabindex', '-1' );
}

Использование tabindex вместо размытия означает, что фокус перейдет к следующему элементу.

Вы уверены, что хотите отключить tabindex? Это очень важно для навигации без мыши.

Только что заметил аналогичный ответ в простом HTML

0 голосов
/ 16 сентября 2011

Метка <a> должна иметь возможность индексирования по вкладкам. Это облегчает навигацию.

используйте <p> или <span> вместо * width onclick="window.location.href='URL'" атрибут события.

пример:

<span onclick="window.location.href='http://www.w3schools.com'">text that redirects you to W3S on click, where you can read more about HTML standards.</span>
0 голосов
/ 19 января 2009

РЕДАКТИРОВАТЬ: Привет, оригинальный автор этого ответа здесь. Не используйте это. Прокрутить вниз. StackOverflow не позволит мне удалить этот ответ, поскольку он был принят.


Вы можете сделать что-то подобное для этих ссылок:

 <a href="http://foo.bar" onfocus="this.blur()">Can't focus on this!</a>

Вы должны использовать ответ ниже.

https://stackoverflow.com/a/457115/974680

0 голосов
/ 19 января 2009

Попробуйте

<a onfocus="this.blur();" href = "bla">Bla</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...