根据spec,该值应为布尔值。但是,spec examples of proper implementation中的一个使用不是true / false的字符串值-“ listbox”,它是另一个元素的role属性的值。这是实现示例中的缺陷,还是屏幕阅读器实际上从非true值中获取了其他信息?
链接示例中的相关代码:
<div role="combobox" aria-expanded="false" aria-owns="ex1-listbox" aria-haspopup="listbox" id="ex1-combobox">
<input type="text" aria-autocomplete="list" aria-controls="ex1-listbox" id="ex1-input" aria-activedescendant="">
</div>
答案 0 :(得分:1)
如果w3规范指出其值可以为true或false,那么这将是浏览器将要实现的。
如果属性接受其他值,则其不确定的行为。尽可能避免这种情况。
有时,接受的属性的值将随w3规范的不同版本而变化。
答案 1 :(得分:1)
最初(WAI-ARIA 1.0),aria-haspopup
只能为true / false。但是WAI-ARIA 1.1增加了附加值。您仍然可以使用true / false,但也可以更详细地说明元素将具有哪种弹出菜单(菜单,树,网格,列表框等)。
答案 2 :(得分:0)
好像我发现自己在阅读旧版规范。 This version是正确的选项,其中包含较新的选项。