【问题标题】:aria-describedby - Same description for two fields?aria- describeby - 两个字段的描述相同?
【发布时间】:2021-10-25 20:41:58
【问题描述】:

假设代码如下:

<label for="cars">Choose a car:</label>

<select name="carType" id="cars" aria-describedby="feedback">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>

<label for="carPrice">Enter a purchase price:</label>

<input id="carPrice" type="number" aria-describedby="feedback"></input>

<div id="feedback">The {car} you are considering for {carPrice} is {good/bad} value.</div>

我已经两次使用了与 feedback div 相关的 aria- describeby 属性。这是可接受的用途吗?我没有找到任何说明不允许这样做的文档,但似乎可能有另一种解决方案。

亲切的问候

【问题讨论】:

    标签: html accessibility wai-aria wcag2.0


    【解决方案1】:

    多个元素指向同一个aria-describedby 元素并没有错。 “carType/cars”和“carPrice”都可以指向“feedback”。

    请注意,您的第一个 &lt;select&gt; 将没有标签,因为 &lt;label for="carType"&gt;for 属性中使用了错误的 ID。您的 &lt;select&gt; 具有“carType”的 name 属性,但 name 用于 javascript 访问。 for 属性应该引用ID 属性的值。所以你需要把你的&lt;label&gt;改成&lt;label for="cars"&gt;

    【讨论】:

    • 简洁明了,标签上的一个很好的捕捉!来自我的 +1 芽!
    • 感谢您的收获!我可能应该测试我的示例代码。我会为遇到此问题的任何人更新它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多