假设以下代码:
<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>
我使用了aria- descripbedby与反馈相关的属性div两次。这种用法可以接受吗?我还没有找到任何文档说这是不允许的,但似乎可能有另一个解决方案。
亲切的问候
多个元素指向同一个aria-describedby
元素没有问题。两个"carType/cars"one_answers";carPrice"可以指向"反馈"。
注意,您的第一个<select>
将没有标签,因为<label for="carType">
在for
属性中使用了错误的ID。您的<select>
有一个名称carType"属性但名称用于javascript访问。for
属性应该引用ID
属性的值。所以你需要把<label>
改成<label for="cars">