w3c将标签定义为:
< label> element表示用户界面中的标题
然后继续说
标题可以与特定表单控件相关联
严格来说,表单控件包括按钮,复选框,单选按钮,菜单,文本输入,文件选择,隐藏控件或对象标签。
我的问题是,为了获取可访问性,只为普通只读信息表示标题的最佳做法是什么。我不想使用输入,我只想显示。我应该只使用标题吗? ARIA有什么帮助吗?
例如
<label>Primary question
<div>What should I use to caption plain old informtion?</div>
</label>
<label>Potential answer
<div>Just use headings</div>
</label>
<label>Date asked
<div>10/01/2016</div>
</label>
&#13;
答案 0 :(得分:2)
可以使用标题,因为屏幕阅读器支持对他们有好处。但是,标题与其下面的内容的关联是隐含的而不是严格指定的。
从语义html立场来看,定义列表可能更为可取。 https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dl提供了定义列表的示例,其中dt和dd标记用于关联应满足您的用例的键/值对。不幸的是,屏幕阅读器不一定暴露定义列表的正确语义。
http://snook.ca/archives/html_and_css/definition-lists-v-tables提供了屏幕阅读器测试的示例,并发现屏幕阅读器中的定义列表支持不足。该文章建议在标题单元格中使用具有范围属性的表,作为更好的支持解决方案。
答案 1 :(得分:-1)
我想知道textarea是否合适?我知道我说我不想使用输入,但我想知道以下是否是一个好的答案?
label {
display: block;
margin-top: 20px;
}
textarea, input {
display: block;
}
textarea[readonly], input[readonly] {
border: none;
}
<label>Primary question
<textarea readonly>What should I use to caption plain old informtion?'</textarea>
</label>
<label>Potential answer
<textarea readonly>use readonly textareas?</textarea>
</label>
<label>Date asked
<input readonly value='10/01/2016' />
</label>
<label>Editable comment
<input/>
</label>
答案 2 :(得分:-1)
如果我举个例子,你会使用一个完美可理解的句子。您无需为屏幕阅读器格式化任何内容。您也可以使用特定标记;这可以针对有视觉辅助的视力正常的人和具有特定语调的盲人
主要问题:“我应该使用什么来标注普通旧信息?”
可能的答案:“只需使用plaind旧文本。”
<strong>Primary question</strong>:
<quote>What should I use to caption plain old information?</quote>
<strong>Potential answer</strong>:
<quote>Just use plaind old text.</quote>
事实上,你的例子中最重要的部分是你应该如何写日期,以便明确它是1月10日或10月1日。
提问日期:2016年10月1日
这不利于可访问性,最好的选择是使用完整的正式日期:
提问日期:2016年10月
<abbr aria-label="First" title="First">1st</abbr>,
在上面的例子中,我解释了&#34; 1st&#34;缩写既为这个常用的缩写提供工具提示和咏叹调标签。
编辑:要回答我最喜欢的读者之一,您可以通过参考W3C文档{{3}来理解为什么我们选择使用strong
元素来标记问题}。
当没有其他元素更合适时,b元素应作为最后的手段。特别是,标题应该使用h1到h6元素,重点应该使用em元素,重要性应该用强元素表示,标记或突出显示的文本应该使用标记元素。
这里我们想要在不是标题的文本中表示重要性。如果问题文本确实传达了文档结构的信息(例如,在FAQ页面中可能就是这种情况),则可以使用标题来标记问题。但在一般情况下,对于单个元素,这不适用。