Autocomplete - Free solo — 为什么键盘无法访问关闭按钮?

Autocomplete - Free solo — Why does the close button is not accessible by keyboard?

Material UI Autocomplete Free Solo 中,我注意到“清除输入”按钮是可点击的,但无法通过键盘访问。

我进入代码库以了解此决定背后的原因,但没有找到任何东西。我也检查了 A11Y 文档,但也没有成功......有人可以提供更多细节吗?这是基于用户测试的决定吗?

谢谢:)

至于为什么它的行为方式如此,您已经发现了。 tabindex="-1" 意味着该元素应该从正常的 Tab 键顺序中删除,但仍然允许以编程方式聚焦 elmenet(如果您从 javascript 调用 obj.focus())。

如果您问 为什么 Material 决定不让该按钮聚焦,@rafael 是正确的,这不是 Whosebug 问题。为 Material 工作的人碰巧在 Whosebug 可能会 看到这个问题并尝试回答它,但如果你直接问他们,你更有可能得到答案。

请注意,WCAG 2.1.1 经常被误解为页面上的每个交互元素都必须可以通过键盘访问。这不是真的。该检查点表示页面的所有“功能”必须可以通过键盘访问。对于 X-clear 按钮,该功能也可以通过键盘使用,因为当您 TAB 到输入字段时,所有文本都会得到 selected您可以按 DELETEBACKSPACE 将其删除或直接开始输入新文本。或者你可以按Ctrl(或CMD)+A到select所有文字并删除它。

因此,键盘用户可以使用 X-clear 按钮的所有 功能 ,而无需访问实际按钮。

话说回来,我很少(如果有的话)制作一个键盘用户无法使用鼠标点击的按钮。