据我所知,BEM根本不使用元素id。但是在这种情况下,如何处理标签for / id与输入相结合?如果我不使用id,使用屏幕阅读器的人将不会获得此标签用于该输入的信息。我说的对吗?
答案 0 :(得分:8)
BEM建议避免为CSS选择器使用id
。对于A11y和可用性使用id
是完全有效的。
<form class="form" method="post" action="">
<label for="email" class="form__label">Email</label>
<input type="email" id="email" class="form__control"/>
</form>
在上面的示例中,我们使用form
类将输入的样式设置为form__control
块的Element。
此外,如果没有id
不能将aria属性用于描述性元素的指针。
<div role="application" aria-labelledby="calendar" aria-describedby="info">
<h1 id="calendar">Calendar</h1>
<p id="info">
This calendar shows the game schedule for the Boston Red Sox.
</p>
<div role="grid">
...
</div>
</div>