2017-01-06 2 views
0

Существует взлом, чтобы сделать работу :focus псевдокласса для div элементов: добавлено divtabindex. Как это:Является ли tabindex взломать CSS: где-то фокусируется?

.testFocus:focus{ 
 
    background: red; 
 
}
<div class="testFocus" tabindex="0">awesomeDiv</div>

Является ли это поведение указано где-то в W3C документов (где?) Или это просто не документированы хак?

"Такое поведение" состоит из:

  1. div элемент не фокусируемый по умолчанию.
  2. div элемент с tabindex является фокусируемым.
+1

W3C HTML5 и WHATWG HTML не указывают, может ли tabindex применяться к любому элементу или применяется ли он только к определенным элементам. (Большинство сторонних источников утверждают, что это глобальный атрибут.) Но то, что они говорят, заключается в том, что tabindex предоставляет элементность, которая для целей Selectors означает, что элемент соответствует: focus, когда он находится в фокусе. – BoltClock

+0

@BoltClock, спасибо, с ссылкой Korgrue, теперь ясно для меня. –

ответ

2

tabindex является одним из global attributes. Это означает, что он может быть указан во всех элементах HTML.

0 действительное значение (см. «Если значение равно нулю» под номером definition of tabindex).

Итак, ваш HTML-код в порядке.

+0

Вопрос не в том, насколько хорошо мой HTML, это больше о том, «почему tabindex подключен к: сконцентрируйте такой странный (для меня) способ?» и «почему поведение адских браузеров здесь отличается? Разве это не нужно указывать?» –

+0

@ Mr.Duck: Что странно? Атрибут 'tabindex' со значением' 0' делает элемент ориентируемым. Если это сфокусировано, возникает псевдо-класс CSS: фокус. – unor

+0

это не интуитивно для меня, что tabindex должен сделать элемент ориентируемым. Это не интуитивно понятно, что многие элементы, не ориентируемые на покупку, не покупают дефолт. Вот почему я попросил ссылку на спецификацию –

0

tabindex будет работать со следующими элементами в HTML5. https://www.w3.org/TR/html5/editing.html#sequential-focus-navigation-and-the-tabindex-attribute

  • а элементы, которые имеют Href атрибуту
  • ссылку элементы, которые имеют Href атрибуту
  • элементы Кнопка
  • входные элементы, тип атрибута не в скрытом состоянии
  • выбрать элементы
  • элементы текстовой области
+0

Так оно указано как «предложение» не как «претензия»? –

+2

Это элементы, которые должны получить флаг фокуса tabindex по умолчанию (если не указано «tabindex» или его значение недействительно). – unor