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

StackOverflow https://stackoverflow.com/questions/244063

  •  04-07-2019
  •  | 
  •  

Вопрос

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

Тоже безуспешно пытался:

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

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

Это было полезно?

Решение

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

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

Другие советы

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top