input - 边界元法。如何处理标签 for/id?
问题描述
据我所知,BEM 根本不使用元素 id。但是在这种情况下如何处理结合输入的标签 for/id 呢?如果我不使用 id,使用屏幕阅读器的人不会知道这个标签是针对那个输入的。我对吗?
解决方案
BEM 建议避免id
使用 css 选择器。它完全适用id
于 A11y 和可用性。
<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
。
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>
推荐阅读
- python - 在python中使用类时如何解决类型错误?
- javascript - 使用数据库中的数据复制带有 html 表按钮的行
- java - 如何在春季获取具有特定ID的数据
- reactjs - React Native Hook 表单上的 Debounce
- node.js - 我的 mongo 查询每 2-3 分钟变得非常慢
- javascript - 由于周末,Chart.js 时间序列 x 刻度重叠
- java - 无法在 POST 的假冒代码中构建正确的请求
- c# - 静态方法的 MVVM 绑定
- php - 使用 json_decode 时不断获取 Undefiend Index
- gremlin - 如果边缘属性已经存在,如何更新它?