Как определить ключ доступа для невидимого элемента HTML - PullRequest
0 голосов
/ 28 октября 2008

У меня есть <button> с назначенным ему ключом доступа. Ключ доступа работает нормально, пока кнопка видна, но когда я установил display: none или visibility: hidden, ключ доступа больше не работает.

Также пытались без успеха:

  • Используйте другой тип элемента: a, input (различные типы, даже без типов).
  • Назначьте ключ доступа метке, которая обертывает невидимый элемент управления.

Обратите внимание, я не уверен, является ли это стандартным поведением, но до Firefox 3 клавиша доступа работала независимо от видимости.

Ответы [ 4 ]

5 голосов
/ 28 октября 2008

Вы видите правильное поведение, вы не можете «получить доступ» к элементу, который не отображается. Предложение Сала почти наверняка сработает, но могу я спросить, какова ваша цель в этом? Вероятно, есть лучший способ достичь того, чего вы пытаетесь достичь. Вы рассматривали возможность использования обработчика нажатий клавиш?

Я думаю, что вы, вероятно, захотите пойти с другими предложениями, если вам не нужен обработчик нажатия клавиш. Попробуй положение: абсолютное; Слева направо: -9999px; вытащить ваш контент со страницы. Или используйте абсолютную позицию, измените непрозрачность на ноль и z-index на -1. При использовании абсолютного положения элемент не будет влиять на позиционирование другого содержимого на странице, установка непрозрачности сделает его невидимым. Даже при непрозрачности, установленной на ноль, вы все равно можете нажать на элемент, и, хотя вы не можете его увидеть, это может помешать вам нажимать на другие элементы страницы, поэтому используйте отрицательный z-индекс, чтобы перетащить его за другим содержимым.

2 голосов
/ 28 октября 2008

Вы можете применить отрицательное поле, чтобы выдвинуть элемент за пределы видимой страницы. Я думаю, что многие браузеры и программы для чтения текста игнорируют элементы с display:none и, возможно, также visibility:hidden.

1 голос
/ 23 мая 2011

Самое простое решение: height: 0px; margin: 0px; padding: 0px; в вашем CSS.

0 голосов
/ 29 октября 2008

Вместо атрибутов видимости или отображения разместите кнопку за пределами страницы

<button accesskey="a" style="position: absolute; top: -9999px">button</button>

Предупреждение: использование left вместо top вызывает странную ошибку отображения в ie7

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...