30 советов для начинающего FrontEnd программиста

52c783b5f69708c425154c6b772d2e17

Надо избегать селекторов, которые являются или включают в себя html теги.

По возможности писать сокращённые записи свойств (например, вместо padding-left, padding-top и тд, писать значения в padding).

Не указывать единицы измерений для нулевых значений (например, вместо margin: 0 px, нужно писать margin: 0).

Не ставить 0 в целой части в значениях между -1 и 1 (т.е, вместо, например, 0.5em, писать .5em).

Не использовать кавычки в ссылках.

Сортировать объявления в CSS по алфавиту.

Стараться использовать BEM для CSS.

Сделать элементы видео доступными для людей с ограниченными возможностями.

Для фокуса на определённые элементы существует атрибут tabindex. Он полезен, когда нужно обеспечить доступность для пользователей, использующих только клавиатуру.

Для пользователей экранной лупы есть 3 правила для контента, который появляется при наведении:

  1. Контент можно отклонить без перемещения фокуса или курсора (например, с помощью Esc).

  2. Курсор можно перевести с кнопки на появляющийся контент и при этом он не исчезает.

  3. Появляющийся дополнительный контент остаётся видимым, пока фокус или курсор не убрали с кнопки или дополнительного контента либо пока пользователь не отклонит контент клавишей Esc.

Атрибут Aria-label помогает присвоить элементу заголовок, который видим исключительно программам чтения с экрана. Атрибут Aria-labelledby позволяет сделать так, чтобы скринридер при фокусе на элемент читал другое видимое название или заголовок.

Aria-describedby позволяет предоставить дополнительную информацию для скринридера к имеющемуся видимому заголовку.

Aria-disabled позволяет включить неактивный элемент в порядок следования фокуса. Значит, для пользователя со скринридера этот элемент как бы не будет существовать.

Роль «alertdialog» позволяет вспомогательным технологиям и браузеру распознать выскакивающие окно предупреждения или сообщения об ошибке и озвучить его появление специальным образом, например проиграв системный звук предупреждения.

Фокус может находиться только на интерактивных элементах, т.е. кнопках, ссылках, чекбоксах и т.д. Порядок следования фокуса должен соответствовать визуальному или логическому порядку расположения интерактивных элементов на экране. Неактивные элементы управления не фокусируются.

Чтобы посмотреть то, как элемент должен ввести себя при работе с клавиатуры, стоит посмотреть раздел «Design Patterns and Widgets».

Стоит указывать основной язык каждой страницы, используя, например, lang атрибут в html lang=«en».Нужно использовать lang атрибут для определённых элементов, когда язык элемента отличается от остальной части страницы.

Роли WAI-ARIA могут придать дополнительный смысл коду, например, используя role=«search» для определения функциональности поиска.

Нужно предоставить чёткие инструкции, сообщения об ошибках и уведомления, чтобы помочь пользователям заполнять формы на вашем сайте.

Стоит убедиться, что порядок элементов в коде соответствует логическому порядку представленной информации. Один из способов проверить это — удалить стиль CSS и убедиться, что порядок содержимого имеет смысл.

Следует использовать отзывчиво-адаптивный дизайн сайта.

Используйте WAI-ARIA для предоставления информации о функциях и состоянии пользовательских виджетов, таких как аккордеоны и кнопки, изготовленные на заказ. Например, role=«navigation» и aria-expanded=«true» (aria-expanded устанавливается для элемента, чтобы указать, развёрнут элемент управления или свёрнут, и отображаются ли контролируемые элементы или скрыты).

© Habrahabr.ru