18. Accessible Forms
HTML: Скелет. Урок: Accessible Forms
Заголовок раздела «HTML: Скелет. Урок: Accessible Forms»
В этом уроке мы рассмотрим, как создавать доступные формы в HTML. Доступность форм критически важна для обеспечения удобства использования веб-сайта всеми пользователями, включая людей с ограниченными возможностями.
Что такое Accessible Forms?
Заголовок раздела «Что такое Accessible Forms?»Accessible Forms – это формы, которые спроектированы и разработаны таким образом, чтобы быть понятными и удобными для использования всеми пользователями, независимо от их возможностей. Это включает в себя использование правильных HTML-элементов, добавление соответствующих атрибутов и предоставление четких и понятных инструкций.
Основные принципы Accessible Forms
Заголовок раздела «Основные принципы Accessible Forms»-
Использование
<label>: Элемент<label>связывает текстовую метку с соответствующим полем ввода. Это позволяет пользователям, использующим скринридеры, понимать, какое значение должно быть введено в поле.<label for="name">Имя:</label><input type="text" id="name" name="name"> -
Атрибут
aria-labelиaria-labelledby: Если текстовая метка не может быть напрямую связана с полем ввода, можно использовать атрибутыaria-label(для предоставления текстового описания) илиaria-labelledby(для связывания с существующим элементом на странице).<input type="text" aria-label="Поиск"><h2 id="search-title">Поиск</h2><input type="text" aria-labelledby="search-title"> -
Атрибуты
placeholderиtitle: Атрибутplaceholderможет быть использован для предоставления примера значения, но не должен заменять<label>. Атрибутtitleпредоставляет дополнительную информацию о поле ввода, которая отображается при наведении курсора. -
Обработка ошибок: Предоставляйте четкие и понятные сообщения об ошибках, если пользователь вводит неверные данные. Используйте атрибуты
aria-invalidиaria-describedbyдля связи поля ввода с сообщением об ошибке.<label for="password">Пароль:</label><input type="password" id="password" name="password" aria-invalid="true" aria-describedby="password-error"><p id="password-error">Пароль должен содержать не менее 8 символов.</p> -
Группировка полей с
<fieldset>и<legend>: Используйте<fieldset>для группировки связанных полей ввода и<legend>для предоставления заголовка для этой группы.<fieldset><legend>Персональная информация</legend><label for="first_name">Имя:</label><input type="text" id="first_name" name="first_name"><br><br><label for="last_name">Фамилия:</label><input type="text" id="last_name" name="last_name"></fieldset>
Жизненный пример
Заголовок раздела «Жизненный пример»Многие современные веб-сайты и фреймворки уделяют большое внимание доступности форм. Например:
- Bootstrap: Bootstrap включает в себя стили и компоненты, которые помогают создавать более доступные формы, включая поддержку
<label>и визуальное отображение состояний полей (например, фокус, ошибки). - React Aria: React Aria предоставляет набор React хуков для создания accessible UI компонентов, включая формы. Он автоматически управляет атрибутами ARIA и обрабатывает события клавиатуры для обеспечения максимальной доступности.
- Gov.uk: Государственный сайт Великобритании (Gov.uk) является отличным примером веб-сайта, который уделяет большое внимание доступности, включая формы. Они предоставляют подробные руководства по созданию доступных форм и используют правильные HTML-элементы и атрибуты.
Ключевые моменты
Заголовок раздела «Ключевые моменты»- Всегда используйте
<label>для связывания текстовой метки с полем ввода. - Используйте
aria-labelиaria-labelledby, когда<label>не подходит. - Предоставляйте четкие и понятные сообщения об ошибках.
- Группируйте связанные поля ввода с помощью
<fieldset>и<legend>. - Тестируйте ваши формы с помощью скринридеров, чтобы убедиться в их доступности.