HTML: плохие стороны

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.
Мы никогда не узнаем, где искать этот код
Мы никогда не узнаем, где искать этот код

Вероятно, вы слышали заявления типа «HTML и так по умолчанию обладает accessibility» или «Не нужно изобретать заново этот абсолютно идеальный элемент управления HTML». Я считаю, что это общие заявления, а не универсальные истины. Веб-разработчикам крайне важно осознавать недостатки платформы, поэтому я решил собрать несколько примеров того, когда у HTML возникают трудности, с точки зрения как accessibility, так и usability.

Это неполный список и он не включает в себя недостатки ARIA. Мне хотелось найти баланс между широко известными проблемами и чаще встречаемыми (но менее известными), а также добавить в список то, что мы воспринимаем, как должное. В каждом из разделов я укажу степень серьёзности проблемы, альтернативные решения и ссылки, по которым можно найти более подробную информацию.

<select multiple>

Давайте начнём с простого. Атрибут multiple элемента <select> не стоит использовать практически никогда. Он похож на полную противоположность одиночного <select>. Единственное, что его оправдывает, так это то, что я пока не встречал этот атрибут ни в одной кодовой базе.

Цитата пользователя программы для чтения экрана (из превосходной статьи Сары Хигли, ссылка на которую приведена ниже):

Это поломанный listbox. Он совершенно поломан, я не вижу, как это можно исправить.

Серьёзность: высокая. Есть большая вероятность того, что большинство ваших пользователей не умеет работать с этим чудовищным элементом управления.

Что использовать вместо: вполне подходящая альтернатива — список чекбоксов; или можно создать собственный listbox с множественным выбором.

Дополнительное чтение: <select> your poison part 2: test all the things (статья Сары Хигли).

<i> (для значков)

Ещё один простой пример для разогрева. Элемент <i> семантически несущественен, поэтому необязательно «плох», если используется для обычного текстового содержимого. Однако чаще он применяется для шрифтов значков.

В обычной ситуации я бы даже не стал включать его в список, ведь это больше ошибка разработчиков, чем проблема платформы. Однако уже 2024 год, а я по-прежнему встречаю элемент <i>, используемый с чем-то наподобие FontAwesome. Это проблемно в основном потому, что веб-шрифт используется для замены текстовых символов (которые могут иметь одно значение) на значки (которые никак не связаны с текстовыми символами).В результате этого текстовые символы, даже если они сгенерированы в CSS, становятся частью контента страницы и по умолчанию будут включены в accessibility-дерево. Кроме того, они плохо выглядят, часто (и непредсказуемо 

Источник: https://habr.com/ru/articles/790230/


Интересные статьи

Интересные статьи

Когда у языка нет цветовой дифференциации функций… то у языка нет цели?Я уже много лет занимаюсь компиляторами и языками в целом. Хочу поделиться интересной мыслью, которая когда-то пришла мне в голов...
В данной статье я хочу рассказать про то, как технически устроены бот-атаки типа парсинг цен на e-commerce сайтах, какие механизмы используют атакующие, как противостоять бот-атакам самостоятельно и с...
Часто пишут про тяжёлые, неудобные UI программных продуктов. Но с интерфейсами мы сталкиваемся не только при работе за компьютером, но и в физическом мире.Я разработчик системы Directum, ...
Как не убить критикой, но и не скатиться в поверхностное ревью? Жирный PR против кучи мержей — что где выгоднее в зависимости от типа и размера проекта? А вот оно вообще правда нужно?...
При чём тут лебедь? Если Вас, как CEO или CTO IT-проекта (быстрорастущего или уже крупного), не покидают ощущения, что: Roadmap продукта буксует Разработка не успевает з...