在更新网页时,我有一个基本上是多选控件的控件,如下图所示。
一旦用户将焦点放在文本框上(带有紫色边框的文本框,则下面的框将可见,其中在检查项目时,将其附加到上面的文本框。
问题:
我的问题更多是从“辅助功能”角度来看。为了使辅助技术能够正确阅读(讲述人)此控件。我在文本框中使用了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>
答案 0 :(得分:1)
这是一个非常简单的复选框列表的快速示例:
codepen .io / anon / pen / eboEVB
这只是一个非常不完整的示例。一定要从中激发灵感,但不要照原样复制粘贴。
注意事项:
编辑:我无法发布我的HTML + js代码,请提供帮助! 我正在尝试发布指向Codepen的链接,但该链接被拒绝。该代码很长,但是无论如何,如果我将其缩进4个空格(使用Ctrl + K),它仍然会被解释而不是仅仅显示。