当我将role="main"
放入textarea
元素时:
<textarea role="main" aria-label="text area"></textarea>
当我点击&#39; r&#39;屏幕阅读器(JAWS)时,我不会读到这个区域。或者&#39; q&#39;应该如此。
当我将地标属性设置为父div时 - 它正在工作。
输入中是否支持地标?
答案 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之类的元素和段落之外的其他元素都没有意义和无用。