在更新网页时,我有一个控件,它基本上是一个多选择控件,如下所示。

一旦用户将焦点设置在textbox (带有紫色边框的文本框)上,下面的框就会可见,在选中这些项目时,同样的内容会附加到上面的文本框中。
问题:
我的问题更多的是从可访问性的角度。允许辅助技术正确阅读(叙述者)此控件。我将role="listbox"用于文本框,role='listitem'用于每个复选框,我对此理解错误,因为应该将listitem作为直接子元素添加到listbox。但就我而言,这是不可能的。
有什么方法可以把textbox和checkbox list连接起来,让叙述者把它们当作一个单独的控件吗?
<div class='multiselect_wrapper'>
<input type="text" role='listbox' aria-multiselecttable='true' />
<div class="chkList">
<fieldset>
<div>
<label role="listitem" for='chk1'>
<input type='checkbox' id='chk1'>Pizza
</label>
<label role="listitem" for='chk2'>
<input type='checkbox' id='chk2'>Lemonade
</label>
<label role="listitem" for='chk3'>
<input type='checkbox' id='chk3'>Fruit Salad
</label>
</div>
</fieldset>
</div>
</div>发布于 2019-01-16 17:41:58
下面是一个非常简单的复选框列表的快速示例:
编码.io /anon/pen/eboEVB
这只是一个非常不完整的例子。要从它中激发灵感,但不要照搬它。
注意的几点:
编辑:我无法发布我的HTML+js代码,请帮助!我试图张贴一个链接到代码,但它被拒绝。代码相当长,但无论如何,如果我将代码缩进4个空格(使用Ctrl+K),它仍然会被解释,而不是仅仅显示出来。
https://stackoverflow.com/questions/54193448
复制相似问题