【问题标题】:aria-required in a radio group广播组中需要咏叹调
【发布时间】:2012-01-20 12:32:41
【问题描述】:

当我有一个强制(必需)单选组时,哪些元素应该具有aria-required="true" 属性?基本上,我有一堆 <input type="radio"> 元素共享相同的 name 并在 <fieldset> 下分组在一起。

  1. 我应该把aria-required 放在<fieldset> 上吗?
  2. 我应该在每台收音机上输入aria-required 吗?
  3. 或者你会说“不应该有强制无线电组之类的东西;设置一个默认值,使无线电组永远不会处于非选择状态”? -- 也许这是一个单独的可用性讨论的主题。

【问题讨论】:

    标签: html radio-button accessibility wai-aria


    【解决方案1】:

    作为屏幕阅读器用户,我建议选择一或三。我不想在每次更改单选按钮上的选择时听到我的屏幕阅读器宣布“需要”。如果我正在努力查看在每个选项上宣布了“必需”的不同选项,将会很快重复。我想在 fieldset 元素上有 required 属性,所以我知道它是需要填写的表单部分。

    从可用性的角度来看,我更喜欢默认选择,因为如果我看到默认选择,我通常会跳到表单的下一部分,假设默认设置没有明显错误。您是否愿意为用户提供默认选择而不是强迫他们做出选择,这取决于您的应用程序所需信息的重要性以及该信息错误的后果。

    【讨论】:

    • 在你的第一句话中,我猜你的意思是两个写“选项一或三”。选项一是在<fieldset> 上设置属性。
    【解决方案2】:

    我试过发现无法将 aria-required 添加到 fieldset 元素。

    【讨论】:

      【解决方案3】:

      您可能需要考虑在 <legend> 上添加“必需”提示,并将其放在 <fieldset> 之后。相同的方法也可用于无线电组上的错误消息。一般来说,在组的情况下,远离 aria 属性是一个好主意,因为不同屏幕阅读器的体验非常混乱。..

      Tenon 对此事进行了大量研究,您可以阅读here。他们对单选组和复选框组的一般说明如下:

      1. 元素组应放在<fieldset> 元素内并由<legend> 描述。
      2. 为了让大多数屏幕阅读器能够识别<legend>,它必须是<fieldset> 打开后的下一个元素。请不要在<fieldset><legend> 的开始标记之间放置任何其他HTML。
      3. <input> 等控件不同,没有可靠的方法将错误消息或内容提示连接到<fieldset>。因此,这些消息必须呈现到<legend> 元素中。如果不需要显示此文本,则可以使用视觉上隐藏内容的样式将其隐藏。
      4. 为该组设置焦点时,焦点应落在该组的第一个<input type="checkbox"><input type="radio">

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-22
        • 2011-03-29
        • 1970-01-01
        • 2014-06-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多