从这个问题/答案:Pausing in a screen reader for accessibility,在设计可访问的网站时,似乎不应使用<br />
进行演示。我在这里可以访问它意味着它适用于屏幕阅读器。
我在网页上有一个页脚。页脚只有三个链接。所以我有
<div id="footer">
<a href="xxx">xxx</a>,
Email me: <a href="mailto:yyy">yyy</a>,
<a href="zzz">zzz</a>
</div>
我的问题是:如何在三条不同的行上最好地显示三个链接?
我应该在前两个<br />
之后插入</a>
,还是应该将每一行括在<p> ... </p>
中?
重要的是,这是以“可访问的方式”完成的。我需要代码验证为XHTML 1.0 Strict。
答案 0 :(得分:5)
重点是屏幕阅读器会在br
标记上方读取,因为它并不特别意味着任何内容。 换行符只是可视指标,而不是语义指标。在您链接到的另一个问题中,每个单独的行应该独立存在,因此br
作为分隔符是错误的语义选择。
在你的情况下,看起来整个事情在语义上是一个句子(用逗号猜测),但应该仅仅在三行上呈现。在这种情况下,br
非常适合插入可视换行符而不添加任何语义含义。
br
=不停顿地阅读,p
=段落,在阅读时暂停。
答案 1 :(得分:1)
br
element只能用于换行符#34;它实际上是内容的一部分&#34;。
此类换行符通常是in addresses或in poems。
在您的情况下,出于布局原因,您似乎只需要换行符。因此,在那里使用br
元素是不正确的。
您可以使用任何适当的元素并在CSS中添加换行符(display:block;
),但是通过使用p
或div
等元素,默认情况下会出现此行为它还适用于文本浏览器和其他不支持CSS的用户代理。
答案 2 :(得分:0)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<head>
<title>Strict</title>
</head>
<body>
<div id="footer">
<a class="links" href="xxx">xxx</a>
<div class="email">Email me:<a class="links" href="mailto:yyy">yyy</a></div>
<a class="links" href="zzz">zzz</a>
</div>
</body>
</html>
您可以包装div,也可以使用<ul>
标记。这是有效的代码。
Div是一个块元素,因此它会破坏事物。
<br />
如果你想在一个不寻常的地方插入换行符,而你实际上是指一个换行符,那就使用换行符。
答案 3 :(得分:0)
<br>
将导致屏幕阅读器稍作停顿。我发现在包含跨度中使用role=text
可以解决此问题。
<span role="text">The<br>End</span>
答案 4 :(得分:0)
通常,屏幕阅读器会在BR标签处分割文本,这会使句子听起来很奇怪。
如果您希望屏幕阅读器忽略BR,以使其纯粹是呈现形式,则可以添加aria-hidden属性,如下所示:
<br aria-hidden="true" />