Как Role=form помогает доступности?
Я прочитал, что role
атрибут был добавлен в загрузки для доступности, и я хотел бы знать, как <form role="form">
помогает доступность. Вижу http://getbootstrap.com/css/#forms-example пример конкретного использования.
я поиск репозитория Bootstrap для "роли" безрезультатно.
моя проблема в том, что информация кажется избыточной. Понятие о том, что элемент форма уже выражается самим тегом HTML (<form>
), Так что это поможет, если мы также добавим, что элемент играет role
of form
? Имело бы смысл добавить role="..."
если role
будет отличаться от form
(Я не знаю, что-но давайте притворимся); как это стоит (особенно без конкретных рассуждений / примеров использования), это в лучшем случае озадачивает.
4 ответов
если добавить role="form"
для формы считыватель экрана видит ее как область на веб-странице. Это означает, что пользователь может легко перейти к форме с помощью быстрых навигационных клавиш своего региона (например, в JAWS 15 вы используете R для этого). А также ваш пользователь сможет легко найти, где начинается и заканчивается форма, потому что читатели экрана отмечают начало и конец регионов.
Я хотел бы отметить, что статья @user664833 упоминается в комментарий утверждает, что role="form"
не должен <form>
элементов, а на <div>
или какой-либо другой элемент, который семантически не указывает, что он содержит элементы формы.
на <form>
элемент - это, наверное, уже надлежащим образом современными читателями экрана.
рекомендую использовать [
role="form"
] на семантически нейтральном элементе, таком как<div>
на<form>
элемент, как элемент уже имеет семантика ролей по умолчанию.
на самом деле в рекомендации ARIA четко указано, что не следует изменять семантику языка хоста в разделе 1.4:
" нецелесообразно создавать объекты со стилем и скриптом, когда язык хоста предоставляет семантический элемент для этого типа объекты. В то время как WAI-ARIA может улучшить доступность этих объекты, доступность лучше всего обеспечивается, позволяя агенту пользователя обрабатывайте объект изначально. Например, лучше использовать h1 элемент в HTML, чем использовать роль заголовка для элемента div."
Итак, пишу <form role='form'>
не только избыточно, но и против рекомендации. Побочные эффекты [d], такие как упомянутый результат неповиновения рекомендации.
семантически говоря, форма по умолчанию-это форма. Однако не все приложения доступности (читатели экрана и т. д.) разработаны одинаково, и некоторые могут использовать элементы (даже элемент формы) с role=form
атрибут по-разному, даже если они понимают, что родительский элемент формы будет иметь одинаковое семантическое значение С или без .