2016-04-20 10 views
0

Я использую устройство чтения Chrome Vox для моего мобильного приложения. Этот читатель читает все теги span span, которые имеют role="alert", я хочу, чтобы программа чтения с экрана считывала только первую ошибку (role = 'alert'). Например, мы можем увидеть страницу регистрации учетной записи Gmail. Как я могу достичь этого сценария?Как остановить Screen reader для чтения всех тегов ошибок, которые имеют роль = «предупреждение»?

+0

Вы ищете селектор attr? https://api.jquery.com/attribute-equals-selector/ i.e $ ("[role = 'alert']")? –

+0

вы должны добавить атрибут role = 'alert' в течение времени выполнения для требуемых элементов. –

+0

A11y читает только первый элемент role = 'alert', хотя существует множество элементов div. A11y читает только последний элемент role = 'alert', даже если существует множество элементов span. Поэтому вы можете попробовать, изменив span на div, чтобы он читал только первый элемент. –

ответ

0

Если вы помещаете промежутки рядом с каждым вводом на ошибку, на них не должно быть роли = предупреждение, а скорее идентификаторы. Тогда входы хотели бы иметь арию, описанную = этот идентификатор. Вы бы хотели, чтобы у вас было предупреждение о сообщениях, в котором говорилось, что были ошибки, и либо сосредоточиться там, либо сосредоточиться на первом вводе ошибок, выбрать и т. Д.

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

Если вы просто хотите предупредить пользователей о наличии ошибок, вы можете поместить фразу в контейнер с ролью = alert и aria-live = assertive, а затем сосредоточиться на первой ошибке ввода.

+0

спасибо, Ник, я стараюсь с атрибутом aria-describeby. Он работает нормально, как я и требовал. Но если мы перейдем к другому входному управлению в форме и вернемся к тому же входу, который описан в арии, он не читает второй раз. – Vishwakant

+0

Я хотел бы отметить, что ChromeVox не очень распространенный экранный ридер для истинных конечных пользователей. Было отмечено, что это не так хорошо для функций для арии и т. Д. http://webaim.org/discussion/mail_thread?thread=5758 http://webaim.org/projects/screenreadersurvey6/ .3 % респондентов из текущих опросов webaim отметили использование ChromeVox.on Desktop, и он не указан для мобильных устройств. В настоящее время основные соперники для мобильных: VoiceOver 56,7% TalkBack for Android 17,8% Nuance Talks \t 4.5% –

 Смежные вопросы

  • Нет связанных вопросов^_^