ARIA标志性建筑不在textarea / input中工作

时间:2014-03-30 08:51:40

标签: javascript html wai-aria screen-readers jaws-screen-reader

当我将role="main"放入textarea元素时:

<textarea role="main" aria-label="text area"></textarea>

当我点击&#39; r&#39;屏幕阅读器(JAWS)时,我不会读到这个区域。或者&#39; q&#39;应该如此。

当我将地标属性设置为父div时 - 它正在工作。

输入中是否支持地标?

2 个答案:

答案 0 :(得分:3)

ARIA角色和aria- *属性可以应用于HTML元素,只要它们不与HTML元素的强本机语义冲突即可。这是设计原因,其原因是为了防止作者向辅助技术传达错误/误导性信息。

The WAI-ARIA section of HTML 5.1 spec给出了textarea元素的强大本机语义,如下所示:

  

textbox角色,aria-multiline属性设置为“true”,如果元素具有aria-readonly属性,则readonly属性设置为“true”

role="main"上应用textarea会与文本框角色发生冲突,因此会被忽略。

答案 1 :(得分:1)

这无论如何都不会奏效 屏幕阅读器可以访问地标(或区域),因此用户可以知道它的开始位置,结束位置,以及他/她可以轻松移动到该区域。 与其他输入一样,textarea是一个表单字段。当您登陆表单字段时,您将进入所谓的表单模式。这意味着您可以键入文本,而 r 键实际上会键入&#34; r&#34;屏幕上的字符,而不是移动到下一个区域 所以像main,region等这样的角色对于除div之类的元素和段落之外的其他元素都没有意义和无用。