《HTML5开发手册》——2.10 中级“菜谱”:在HTML5中使用WAI-ARIA

简介:

本节书摘来自异步社区《HTML5开发手册》一书中的第2章,第2.10节,作者: 【美】Chuck Hudson , 【英】Tom Leadbetter 更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.10 中级“菜谱”:在HTML5中使用WAI-ARIA

HTML5开发手册
Web Accessibility Initiatives Accessible Rich Internet Applications(WAI-ARIA)也称作ARIA,是一个旨在提高Web应用和Web页面可访问性的草稿规范。ARIA允许使开发者与内容作者开发能够被辅助技术识别和使用的富Internet应用和内容。通常,辅助技术无法知道一个组件(widget)是什么,组件也一般无法使用键盘访问。同样,试想一下,如果通过Ajax调用更新内容,辅助技术无法知道内容已经更新,因而无法通知用户。虽然这里不会讨论ARIA所能提供的所有解决方案,不过我们会讲解ARIA的Landmark Roles(地标角色)部分,以及如何将这些新角色添加到HTML5文档中。

Landmark Roles是页面中用作导航地标的区域。规范中列出了50多种角色,下面列出了最为常用的角色:

  • role=”article”
  • role=”banner”
  • role=”complementary”
  • role=”contentinfo”
  • role=”form”
  • role=”heading”
  • role=”main”
  • role=”navigation”
  • role=”search”

你可以用如下的方法将它们添加到元素语言中:


38db0216cf39e6c6f88f100b8fb3e714a2f8d488

这表示该表单(页面中可能存在多个表单)用于搜索。

纵览前面的列表,你可以看到上面一些角色有明显的配对HTML5元素。当你将它们添加到前面章节的主页面结构中,可以得到如图2.8所示的布局。


154a97a54599026d45c34f081cba4c3b7b93fd49

因为在此元素代码中使用了逻辑结构以及ARIA角色,终有一天辅助技术能够轻松地导航到页面的各个区域。不过,目前很少有屏幕阅读器支持HTML5,更不用说ARIA元素了。

你可以在文档顶部使用跳转链接(skip link),通常会使用CSS隐藏这些链接。这些链接允许使用屏幕阅读器、键盘或其他辅助技术的用户快速地“跳过”或“跳转”到重要的区域。这些区域通常是主导航或主页面内容。代码类似如下:


9729042cd9d8e76d7438d4867d3bb77329310817

借助ARIA,“地标”会对用户高亮显示,以方便他们在这些选项之间循环。

HTML5验证接受ARIA角色。你也可以在HTML 4中使用ARIA角色,不过会造成验证错误。

这些角色同时还为你提供了巧妙的CSS“钩子”,方便你将它们加入选择器(selector)中。页面中可能有多个header或多个footer,但如果你想为主页面header和footer设置不同的样式,那么你可以在CSS中这样选择它们:


4fe9d1e3429e16514e05a0a9fae54e0fced2a4fa

尽管没有必要这样使用CSS,但至少提供了一种备选方案。

相关文章
|
3月前
|
移动开发 前端开发 JavaScript
Twaver-HTML5基础学习(9)HTML节点(HTMLNode)
本文介绍了Twaver HTML5中的HTML节点(HTMLNode),这是一种专门用于呈现HTML元素的网元。文章解释了HTMLNode如何继承自Node并具有所有Node的特点,以及如何通过setName()方法将HTML元素作为网元的LabelAttachment或者AlarmAttachment呈现。示例代码展示了如何在React组件中创建HTMLNode并添加HTML元素,以及如何自定义告警显示样式。
27 1
Twaver-HTML5基础学习(9)HTML节点(HTMLNode)
|
6月前
|
数据采集 移动开发 搜索推荐
HTML基础-HTML5新增语义标签:解锁网页结构新维度
【6月更文挑战第5天】本文介绍了HTML5的语义标签,旨在提升网页结构化和可访问性。核心语义标签包括`<header>`、`<nav>`、`<main>`、`<article>`、`<section>`、`<aside>`、`<footer>`、`<figure>`和`<figcaption>`。常见问题包括滥用标签作布局工具、忽略`<main>`、不恰当嵌套和忽视辅助功能。
118 3
|
6月前
|
移动开发 HTML5
html5为什么只需要写<!doctype html>? 一共有多少种Doctype文档类型?
html5为什么只需要写<!doctype html>? 一共有多少种Doctype文档类型?
109 0
|
7月前
|
移动开发 前端开发 JavaScript
【专栏:HTML与CSS实战项目篇】使用HTML5与CSS3制作一个动态表单验证页面
【4月更文挑战第30天】本文介绍了使用HTML5和CSS3创建动态表单验证页面的方法。首先,简述HTML5用于构建网页内容,CSS3用于描述样式。接着,分四步展示实现过程:1) 设计包含输入框和提示信息的表单结构;2) 使用CSS3创建样式,增强视觉效果;3) 使用JavaScript监听输入事件,动态验证表单并显示错误信息;4) 测试和调试确保跨平台兼容性。通过学习,开发者能掌握创建带验证功能的表单,提升用户体验。
89 7
|
6月前
|
存储 移动开发 前端开发
Web网页制作-知识点(1)——HTML5介绍、HTML5的DOCTYPE声明、HTML基本骨架、标题标签、段落 换行、水平线图片图片路径、超链接
Web网页制作-知识点(1)——HTML5介绍、HTML5的DOCTYPE声明、HTML基本骨架、标题标签、段落 换行、水平线图片图片路径、超链接
68 0
|
7月前
|
移动开发 搜索推荐 HTML5
尚硅谷html5+css3(1)html相关知识
尚硅谷html5+css3(1)html相关知识
|
7月前
|
移动开发 Android开发 iOS开发
ios标准页面调用HTML5页面和HTML5调用ios的函数
ios标准页面调用HTML5页面和HTML5调用ios的函数
52 0
|
22天前
|
前端开发 测试技术 定位技术
如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤
本文深入介绍了如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤。通过实例展示了主页、关于我们、产品展示、新闻动态及联系我们等页面的设计与实现,强调了合理布局、美观设计及用户体验的重要性。旨在为企业打造一个既专业又具吸引力的线上平台。
46 7
|
22天前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
31 6