除了结构之外,在构建和设计数字无障碍功能时,还有许多支持性 HTML 元素需要考虑。在“学习无障碍功能”课程中,我们涵盖了许多元素。
本模块重点介绍非常具体的元素,这些元素不太适合任何其他模块,但有助于理解。
页面标题
HTML <title>
元素定义了用户即将体验的页面或屏幕的内容。它位于 HTML 文档的 <head>
部分,相当于页面的 <h1>
或主要主题。标题内容显示在浏览器标签页中,帮助用户了解他们正在访问哪个页面,但它不会显示在网站或应用本身上。
在 单页应用 (SPA) 中,<title>
的处理方式略有不同,因为用户不像在多页网站上那样在页面之间导航。对于 SPA,document.title
属性的值可以手动添加,也可以根据 JavaScript 框架通过辅助程序包添加。向屏幕阅读器用户播报 更新的页面标题 可能需要一些额外的工作。
描述性页面标题对用户和 搜索引擎优化 (SEO) 都有好处,但不要过度并添加大量关键字。由于标题是 AT 用户访问页面时首先播报的内容,因此它必须准确、独特且具有描述性,但也要简洁。
在编写页面标题时,最佳做法也是“前置加载”内部页面或重要内容,然后添加任何前面的页面或信息。这样,AT 用户不必听他们已经听过的信息。
<title>The Food Channel | Outrageous Pumpkins | Season 3 </title>
<title>Season 3 | Outrageous Pumpkins | The Food Channel</title>
语言
页面语言
页面语言属性 (lang
) 设置整个页面的默认语言。此属性添加到 <html>
标记。应将有效的语言属性添加到每个页面,因为它向 AT 发出信号,指示它应使用哪种语言。
建议您使用双字符 ISO 语言代码 以获得更大的 AT 覆盖范围,因为许多 AT 不支持 扩展语言代码。
当语言属性完全缺失时,AT 将默认为用户编程的语言。例如,如果 AT 设置为西班牙语,但用户访问了英语网站或应用,则 AT 将尝试用西班牙语口音和节奏读取英语文本。这种组合会导致数字产品无法使用,并让用户感到沮丧。
<html>...</html>
<html lang="en">...</html>
lang 属性只能关联一种语言。这意味着 <html>
属性只能有一种语言,即使页面上有多种语言也是如此。将 lang
设置为页面的主要语言。
<html lang="ar,en,fr,pt">...</html>
<html lang="ar">...</html>
节语言
您还可以将语言属性 (lang) 用于内容本身的语言切换。基本规则与完整页面语言属性相同,不同之处在于您将其添加到适当的页内元素,而不是 <html>
标记。
请记住,您添加到 <html>
元素的语言会向下级联到所有包含的元素,因此始终首先设置页面顶级 lang
属性的主要语言。
对于以不同语言编写的任何页内元素,请将该 lang
属性添加到相应的包装元素。这将覆盖顶级语言设置,直到该元素关闭。
<html lang="en"> <body>... <div> <p>While traveling in Estonia this summer, I often asked, "Kas sa räägid inglise keelt?" when I met someone new.</p> </div> </body> </html>
<html lang="en"> <body>... <div> <p>While traveling in Estonia this summer, I often asked, <span lang="et">"Kas sa räägid inglise keelt?"</span> when I met someone new.</p> </div> </body> </html>
iFrame
iFrame 元素 (<iframe>
) 用于在页面中托管另一个 HTML 页面或第三方的内容。它本质上是将另一个网页放在父页面中。iFrame 通常用于广告、嵌入式视频、Web 分析和交互式内容。
为了使您的 <iframe>
可访问,需要考虑几个方面。首先,每个具有不同内容的 <iframe>
都应在父标记内包含一个标题元素。此标题为 AT 用户提供有关 <iframe>
内内容的更多信息。
其次,作为最佳实践,最好在 <iframe>
标记设置中将滚动设置为“auto”或“yes”。这允许低视力人士能够滚动到 <iframe>
中他们可能看不到的内容。理想情况下,<iframe>
容器的高度和宽度也应是灵活的。
<iframe src="https://www.youtube.com/embed/3obixhGZ5ds"></iframe>
<iframe title="Google Pixel - Lizzo in Real Tone" src="https://www.youtube.com/embed/3obixhGZ5ds" scrolling="auto"> </iframe>
检查您的理解情况
测试您对文档无障碍功能的知识。
您的网站是一个多语言在线教科书,其中一个页面上显示多种语言。告知辅助技术副本语言的最佳方式是什么?
<html>
元素中包含所有语言。例如 <html lang="en,lt,pl,pt">
lang
属性只能关联一种语言。<html>
设置主要 lang
,并在任何包含不同语言内容的元素上设置其他语言。<html>
语言属性来读取文档。如果您有多种语言的文本,请确保将 lang
属性添加到具有正确双字母 ISO 代码的相应元素(例如节或段落)。