出于可访问性的目的,应如何在全局元素中处理标题?

时间:2019-04-02 20:28:08

标签: html accessibility section508 wcag wcag2.0

在许多设计中,许多标题可能会出现在网站的页眉,页脚或其他全局元素中。一个示例是在页面页脚或页面标题中标明“联系我们”,“我们的地址”和类似部分。

在这些情况下,我历来倾向于使用<h6>元素,因为它们是优先级最低的标题,因此我认为}最适合此用例。

但是,我最近开始尝试改善项目的可访问性,并且我发现基本上每个自动化的a11y测试工具都说这不是正确的方法。我经常收到错误消息,指出“标题结构未在逻辑上嵌套”,因为<h6>出现在任何其他标题之前(对于页面标题中的标语),或者从较早的标题跳转到{{1} }(对于页脚标题,当其余内容在少于<h6>的位置之后停止时)。

我只是将页眉和页脚中的<h5>更改为<h6>的样式以匹配其原始设计,但这对我来说似乎是不正确的–在页脚中带有标题的每个部分都不应用实际的标题表示?

在页面的全局元素中表示标题以确保可访问性的适当方法是什么?

2 个答案:

答案 0 :(得分:1)

通过将站点名称用作顶级标题,典型站点可以具有逻辑标题轮廓。页面上的所有内容均属于网站,页面的主要内容,网站导航以及页脚等。

state

(请注意,标语should not为标题。)

使用HTML5,您可以使各节明确(import re mystr="We're having a surprise birthday party for Eve!" #here you can pass as many punctuations you want result=re.sub("[.'!#$%&\'()*+,-./:;<=>?@[\\]^ `{|}~]","",mystr) print(result.lower()) <h1>Site name</h1> <h2>Site navigation</h2> <h2>Page main content</h2> <h2>Contact us</h2> <h2>Our address</h2> articleaside),并传达每个节是({{1 }},navsection):

header

(如果页脚包含许多节,则在可能的情况下引入分组的标题/节是有意义的,例如,在此示例中为“ Contact”。也就是说,并不是每个页脚都需要节/标题开头,尤其是不是如果内容太少或不那么重要。)

答案 1 :(得分:0)

标记标题级别的工具只能作为“警告”或“需要审查”来使用。您不能笼统地声明

必须跟在
之后。我认为您在做什么是正确的。将所有页脚标题设为
,以便在整个站点中保持一致。您的页面可能具有足够的信息以保证标题不超过
,但是类似“联系我们”页面的内容可能仅包含

。出现

然后是

并不是自动WCAG故障。

1.3.1 Info and Relationships通常是用于标记错误标题的准则,但所有要求说明的只是

  

通过演示传达的信息,结构和关系可以通过编程确定,也可以通过文本获得。

它没有跳过标题级别(除了为达到1.3.1的某些推荐技术外,其余都是non-normative)。例如,H42: Using h1-h6 to identify headings讨论使用适当的标题,但其中一个示例表明,在

之前先

是可以的。