Какова роль=форма справки доступность?


Я читал, что role атрибут был добавлен в Bootstrap для доступности, и я хотел бы знать, как <form role="form"> помогает доступность. Смотрите http://getbootstrap.com/css/#forms-example для примера этого конкретного использования.

я поиск РЕПО Bootstrap для "роли" безрезультатно.

моя проблема заключается в том, что информация представляется излишним. Понятие, что элемент является форма уже выражается самим тегом HTML (<form>), Так что же это поможет, если мы также добавим, что элемент играет role на form? Имело бы смысл добавить role="..." если role будет отличаться от form (Я не знаю, что - но давайте притворимся); как это стоит (особенно без конкретных рассуждений / примеров использования), это в лучшем случае озадачивает.

4 64

4 ответа:

если добавить role="form" для формы средство чтения с экрана видит ее как область на веб-странице. Это означает, что пользователь может легко перейти к форме с помощью своих быстрых навигационных клавиш (например, в JAWS 15 вы используете R для этого). А также, ваш пользователь сможет легко найти, где начинается и заканчивается форма, потому что программы чтения с экрана отмечают начало и конец регионов.

Я хотел бы отметить, что статья @user664833 упоминается в комментарий утверждает, что role="form" не должен <form> элементов, а на <div> или какой-либо другой элемент, который семантически не указывает, что он содержит элементы формы.

The <form> элемент - это, наверное, уже надлежащим образом современными читателями экрана.

цитата (ссылка):

рекомендую использовать [role="form"] на семантически нейтральный элемент, например <div> на <form> элемент, как элемент уже имеет семантика роли по умолчанию выставлена.

на самом деле, в рекомендации ARIA четко указано, что не следует изменять семантику языка хоста в разделе 1.4:

" Не рекомендуется создавать объекты со стилем и скриптом, когда язык хоста предоставляет семантический элемент для этого типа объекты. В то время как WAI-ARIA может улучшить доступность этих объекты, доступность лучше всего обеспечивается, позволяя агенту пользователя обрабатывайте объект изначально. Например, лучше использовать h1 элемент в HTML, чем использовать роль заголовка на элементе div."

Итак, пишу <form role='form'> не только излишне, но и против рекомендации. Побочные [d]эффекты, подобные упомянутому, являются результатом несоблюдения рекомендации.

семантически говоря, форма по умолчанию-это форма. Однако не все приложения специальных возможностей (программы чтения с экрана и т. д.) разработаны одинаково, а некоторые могут использовать элементы (даже элемент формы) с role=form атрибут по-разному, даже если они понимают, что родительский элемент формы будет иметь одно и то же семантическое значение С или без .