我是否需要将 `onKeyDown` 添加到 `button` 以符合可访问性要求? (WCAG 2.0)

Do I need to add `onKeyDown` to `button` for accessibility compliance? (WCAG 2.0)

我有一个按钮,点击后会展开一张包含更多信息的卡片

是否需要将 onKeyDown 添加到 button 以符合可访问性要求?

或者因为该元素已经是 button,所以这是多余的?

我还遗漏了其他要遵守的内容 WCAG 2.0?

这是我的可折叠按钮代码 react

const ariaPressed = checked ? "true" : "false";

return (
  <button
    tabIndex={0}
    role="button"
    component="button"
    aria-pressed={ariaPressed}
    aria-expanded={ariaPressed}
    onClick={toggleChecked}
  >
    {checked ? "Hide Versions" : "View Versions"}
  </button>
);

不,您不需要 onKeyDown,因为您使用的是本机 <button>。按钮将驱动 onClick(),无论您是用鼠标单击,还是用键盘按 ENTERSPACE,或者点击移动设备。

附带说明一下,您也不需要 tabindex=0,因为 <button> 本身是键盘可聚焦的。

而且您不需要 role=button,因为这是本地人的默认角色 <button>

我也会去掉 aria-pressed,因为你使用的是 aria-expanded。只要在“true”和“false”之间切换 aria-expanded 的值,就可以了。