После десятилетнего перерыва я снова погружаюсь в веб-разработку. Мне все еще кажется очень запутанной кучей постоянно меняющихся стандартов, из-за чего неясно, какие браузеры поддерживают, что и каковы лучшие практики.
В настоящее время я сосредоточен на использовании новых семантических элементов HTML5. Я обнаружил, что шаблон начальной загрузки ASP.NET Core по умолчанию не использует элемент <nav>
для панели навигации, и поэтому искал, как его правильно применить.
шаблон навигационной панели по умолчанию в Bootstrap действительно рекомендует использовать <nav>
. Однако я не понимаю, какова цель примененного к нему атрибута aria-expanded
. После того, как узнал о преимущества, которые он предлагает для программ чтения с экрана (с указанием, свернута панель навигации или нет, в данном случае, когда размер экрана небольшой, например, для смартфонов), я все еще не понимаю, должна ли она быть там на все. (И следует ли применять aria-controls
, что не является t в шаблоне начальной загрузки по умолчанию.)
Позволь мне объяснить:
- Некоторые из этих атрибутов арии, кажется, описывают визуальное поведение. Есть ли вообще смысл описывать незрячим то, чего они не видят?
- При правильном применении семантических элементов
<nav>
и<main>
, разве программы чтения с экрана не имеют под рукой всю необходимую информацию, чтобы быстро пропустить панель навигации (эквивалент ее скрытия для видящих)?
Разве не лучшей альтернативой было бы просто скрыть механизм переключения навигации для незрячих людей? Тогда у меня будет вопрос, как это сделать. Можно ли скрыть кнопку с помощью role="presentation"
и / или aria-hidden="true"
?
<main>
, на который я ссылаюсь в своем вопросе, но он может соответствовать вашим целям. Также должно быть достаточно легко добавить его после панели навигации (используя F12). - person Steven Jeuris   schedule 15.02.2017