Javascript web可访问性:html本机下拉列表-按enter键并单击打开菜单项
在选择输入时单击,默认情况下表单将在提交。根据可访问性标准,如果焦点在输入时单击选择元素,则应打开列表项。我想知道是否可以使用符合可访问性标准的本机选择元素创建可访问下拉列表Javascript web可访问性:html本机下拉列表-按enter键并单击打开菜单项,javascript,jquery,html,accessibility,web-accessibility,Javascript,Jquery,Html,Accessibility,Web Accessibility,在选择输入时单击,默认情况下表单将在提交。根据可访问性标准,如果焦点在输入时单击选择元素,则应打开列表项。我想知道是否可以使用符合可访问性标准的本机选择元素创建可访问下拉列表 <div class="custom-dropdown"> <select id="cities" name="select"> <option value="1">Delhi</option> <option value="2"&g
<div class="custom-dropdown">
<select id="cities" name="select">
<option value="1">Delhi</option>
<option value="2">Mumbai</option>
</select>``
</div>
我已尝试使用keyup事件触发click事件,但它不起作用
$('#cities').keyup(function (e) {
if (e.keyCode == 13) {
$("#cities").trigger("click");
}
});
我敢肯定,唯一能自动提交表单的元素就是提交按钮
<input type="submit" value="foo">
或
foo
(元素的默认类型为“提交”)
未将提交定义为提交表单。按enter键时,您确定您的焦点在屏幕上吗
您还应该查看“”的规范,您的关注点是基于一个示例,而不是规范:
此页面上的示例列表框实现了以下键盘界面
如果参考,则不会提及Enter键
该示例使用Enter,因为listbox的触发器是一个按钮
此外,根据
如果您可以使用本机HTML元素[HTML51]或具有内置语义和行为的属性,而不是重新指定元素的用途并添加ARIA角色、状态或属性以使其可访问,那么就这样做
换句话说,当您没有实现自己的控件时,您不应该关心这些规则。您似乎在抱怨浏览器的标准用户体验与您想要的可访问性标准不匹配。这里似乎没有问题。我同意它的默认浏览器行为。我只想知道是否可以使用本机选择元素创建可访问下拉列表,该元素将满足“是”中提到的可访问性标准,当我按下enter键时,重点是选择元素。请检查此项。您是说AccessibilityOz上的审核请求页面显示了问题吗?如果我转到该表单上的第一个问题“移动应用程序是否包含需要测试的流程?”,我可以使用空格(在firefox上)展开下拉列表,向下箭头选择“是”,然后按ENTER键选择“是”,表单不会提交。这只是一个示例。将焦点移动到任何选择元素(例如。“您是否收到有关移动应用程序的无障碍投诉?”)使用tab键。然后按enter键。表单在按enter键时提交。但如果您看到下拉列表的可访问性规范,则在按enter键时会显示列表项。请查看“键盘支持”部分,抱歉,我没有看到这种行为。我试过firefox和chrome,并在accessibilityoz p上的任何选择上按enter键age不提交表单。我在chrome版本71.0.3578.98(官方版本)(64位)上看到了这种行为。在Firefox上,按enter键后不提交表单
<input type="submit" value="foo">
<button>foo</button>