随着互联网的普及,无障碍网站设计已经变成越来越重要的话题。对于那些缺失视力、听力或者其他障碍的用户来说,访问和使用网站可能会变得极为繁琐和受限。WAI-ARIA(Web Accessibility Initiative-Accessible Rich Internet Applications)为开发人员提供了一套标准,帮助他们创建更易被理解和使用的网站。下面,我们将讨论在无障碍网站中如何应用 WAI-ARIA 的最佳实践。
WAI-ARIA 概述
WAI-ARIA 是一系列的技术标准和规范,用于增强 Web 应用程序的可访问性。它可用于开发人员创建更加易于理解和使用的 Web 应用程序,以确保所有人都可以轻松地使用它们。WAI-ARIA 规范定义了一个角色、状态和属性等框架,使开发人员能够创建更好的交互式组件,如下拉菜单、弹出窗口、选项卡和提示。
WAI-ARIA 最佳实践
1. 对象模型和可访问性树
在使用 WAI-ARIA 时,要确保对象模型(Object Model)和可访问性树(Accessibility Tree)保持同步。对象模型是开发人员在代码中创建的虚拟界面的结构。可访问性树是浏览器在页面上自动创建的表示页面结构及其可访问性特性的树型结构。只有在两者同步了的情况下,才能确保 WAI-ARIA 描述的元素可以被正确地解释和使用。
2. 使用语义化标记
全球通用的语义化标记,如标题标签(H1、H2、H3 等)、段落标签(P)和链接标签(A),能够帮助将网站内容分成更加有意义的区块。在使用 WAI-ARIA 时,使用好这些标记和其他常规标记,可以进一步提高可访问性和易用性,并使 web 化内容更易于懂。
3. 适度使用 ARIA 规范
WAI-ARIA 规范不应该用于取代应用程序中存在的自然、固有的角色和属性,而是应该表示其他需要提供给用户的角色和状态。我们应该在使用 WAI-ARIA 规范时适度使用它,不要在没有必要的情况下滥用。
4. 不要更改默认可访问性行为
默认情况下,浏览器提供了许多内置的、可访问性良好的元素和行为。我们应该遵循浏览器提供的规则和定义,不要更改这些默认可访问性行为。
5. 键盘导航支持
除了鼠标和其他指针设备外,键盘导航也应作为可访问性的一部分进行考虑。遵循 WAI-ARIA 能提供一些代码样例来支持一个无障碍的网站。HTML 结构如下:
<button onclick="expandCollapse()" aria-expanded="false" class="expand-btn">+</button> <div id="product-description" aria-hidden="true"> <p>我是用来做商品描述的。</p> </div>
JavaScript 处理逻辑如下:
-- -------------------- ---- ------- ---------------- - ----- ------ - -------------------------------------- ----- ------ - ----------------------------------------------- ----- -------- - ------------------------------------ --- ------- ---------------- - -------- - --- - ---- ------------------------------------ ----------- ------------- - --------- -
这里的 aria-expanded
描述 HTML 元素是展开还是折叠的状态,而 aria-hidden
表示元素是否被当前隐藏或在通用约定中应该被忽略。
结论
在无障碍网站开发中,应用 WAI-ARIA 的最佳实践可以进一步提高用户的可访问性和易用性。我们可以在代码中使用 ARIA 规范、语义化标记等,以确保浏览器内置可达性行为不被更改。在上面的例子中,我们可以看到使用 WAI-ARIA 规范开发无障碍网站并不复杂,通过必要的标签、语义和属性,可以让任何人都能使用这个网站。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/670645abd91dce0dc85aec8f