如果您想要做的只是有一个"确认"类型的页面来向用户显示他们在表单中输入了什么,那么您可以使用纯文本,或者在每个值之前加上一个标题.
<h3>First Name</h3>
<p>Fred</p>
<h3>Middle Initial</h3>
<p>M</p>
<h3>Last Name</h3>
<p>Rogers</p>
页面上的所有文本,除非故意对辅助技术隐藏(例如aria-hidden="true"
),否则用户可以使用.屏幕阅读器用户可以使用向下箭头键遍历DOM中的所有元素(未隐藏的元素),以便他们可以听到文本.如果您使用诸如标题(<;h3&>)之类的语义HTML,则屏幕阅读器可以使用H或3快捷键快速跳到标题.(某些屏幕阅读器有不同的导航到标题的方式.)
为了获得更愉快的用户体验,对于视力正常的用户和屏幕阅读器用户,使用带有行标题的表都会很有帮助.类似于:
<table>
<tr>
<th scope="row">First Name</th>
<td>Fred</td>
</tr>
<tr>
<th scope="row">Middle Initial</th>
<td>M</td>
</tr>
<tr>
<th scope="row">Last Name</th>
<td>Rogers</td>
</tr>
</table>
您最初的问题是关于将确认值设置为可选项卡.它们不是可选的,因为屏幕阅读器用户可以导航到上面解释的值,所以不需要tabindex
.但是,如果确实希望它们是可选的,您可以通过使用带有readonly
属性的<;输入>;向用户显示与原始表单相似的表单.这将允许用户制表符到输入,他们可以复制值,但不能更改值.
此外,由于它是<;输入>;,因此您可以将<;标签>;与for
属性一起使用.
<label for="fname">First Name</label>
<input readonly value="Fred" id="fname">
<label for="mi">Middle Initial</label>
<input readonly value="M" id="mi" >
<label for="lname">Last Name</label>
<input readonly value="Rogers" id="lname">