我从这个网站[Site]阅读:http://msdn.microsoft.com/en-us/library/windows/apps/hh968006.aspx
aria-multiline就是提供多行属性。
但是当我应用于文本框时,它似乎不起作用。谁能告诉我为什么。我还有一个问题,谁能告诉我这两个元素之间的区别
<textarea rows="4" cols="50" id="text"></textarea>
<textarea rows="4" cols="50" aria-labelledby="aria-text-label" id="aria-text" role="textbox" aria-multiline="true"></textarea>
谢谢
最佳答案
ARIA 属性是声明性的(信息性的)。它们通知浏览器,特别是辅助软件元素具有哪些功能属性,主要是由于处理它们的 JavaScript 代码,而不是使元素具有功能属性。例如,如果您使用 JavaScript 将 div
元素设为多行输入区域,则适合在该元素上设置 aria-multiline="true"
。请参阅 W3C WAI Primer .
因此,该属性对于 textarea
来说是多余的(浏览器应该知道该元素是什么)。对于input type="text"
,可以使用它,但前提是您以某种方式设法将其转换为多行控件。
问题中提出的两个元素之间的差异是:
- 他们分配不同的
id
属性值。 - 后者声明了一个
role
属性,该属性与默认语义匹配,在 Using WAI-ARIA in HTML 中不推荐使用。 。 (这是允许的,但它可能会让阅读 HTML 源代码的人感到困惑,并误导他们认为它有一些效果。) - 它还多余地将元素声明为多行。
- 它还指定该元素有一个标签,该标签是带有
id="aria-text-label"
的元素。这并不是多余的,但使用label
element 在普通 HTML 标记中声明标签通常更好、更容易访问。 .
关于html - aria - 多行用途,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24865098/