Как я могу определить ключ доступа для невидимого HTML-элемента
-
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