Web无障碍Web无障碍(WebAccessibility,取头尾各一个字母,总共有11个字母,因此简称*a11y*)

Web无障碍(WebAccessibility,取头尾各一个字母,总共有11个字母,因此简称a11y),也叫可访问性等。是指在Web开发无障碍性意味着使尽可能多的人能够使用Web站点,包括那些有视觉、听觉、运动和认知障碍的人。Web无障碍的目的是促进公平、包容和可持续的数字社会发展,让尽可能多的人都能够充分地参与到数字经济和社交生活中。

通过实现Web无障碍,不仅可以提高网站的可用性和用户体验,也能够促进社会的包容性和公正性,让更多人都能够享受数字经济和社交生活带来的便利和快乐。无障碍的实现不只是为了服务残疾人,而是为每个人提供更好的用户体验,并促进商业和社会应用程序的包容性和可持续性。

根据世界卫生组织2022年发布的最新数据,全球不同类型残疾的人数估计如下:

另外截止到2020年,我们国家中国残疾人总人数为8592.8万人,60岁以上老年人口约为2.68亿人,占全国总人口比例为19.14%。注意这些数据估计只是近似值,可能不完全准确,可能存在一个人患有多种障碍疾病等其他情况。此外,世界不同区域在残疾统计报告的定义和方法上可能存在差异。

在实际开发中,由于不同的应用功能及使用场景等因素,我们不可能完全覆盖所有人群,尽自己最大的能力让尽可能多的人能够无障碍的使用自己的应用就好,因此在开发中,我们主要考虑以下几种残疾类型:

当然还需要考虑其它的残疾类型,根据自己的实际开发的应用程序的用途,了解哪些用户会使用到自己的应用,还要考虑用户的年龄、文化差异或意识形态差异而遇到困难等因素来创建更加包容的设计。

WCAG(Web内容无障碍性指南)2.0和2.1是由万维网联盟(W3C)发布的一系列规范,旨在确保Web内容对所有人都可访问,包括残疾人。能帮助Web开发者创建尽可能无障碍的内容,从而使得更多的人能够方便地使用Web。

WCAG2.0于2008年发布,共有12个准则,每个准则都有一些成功标准,以帮助开发者创建无障碍的Web内容。其中每个成功标准都有三个级别:A、AA和AAA,级别A为最基本的要求,级别AAA为最高的要求。建议网站和应用程序至少达到AA级别的无障碍要求。因为AA级别的要求已经包括了许多基本的无障碍功能,可以满足大多数用户的需求。但是,如果网站或应用程序的用户群体中有许多有特殊需求的人,例如视觉障碍者或听力障碍者,那么建议尽可能达到AAA级别的无障碍要求,以确保他们能够完全访问网站的内容。

WCAG2.1是WCAG2.0的扩展版本,于2018年发布。它新增了13个成功标准,其中包括一些针对移动设备、低视力用户和认知障碍用户的要求。这些新的成功标准可以帮助开发者进一步提高Web内容的无障碍性。

HTML5引入了对WAI-ARIA的官方支持,并提供了新的语义元素和属性来支持无障碍访问。WAI-ARIA(WebAccessibilityInitiative–AccessibleRichInternetApplications)是一项由国际标准化组织(ISO)和W3C共同制定的技术规范,旨在提高Web应用程序的无障碍访问能力。它定义了一组属性和角色,这些属性和角色可以在HTML、SVG和其他Web技术中使用,以帮助屏幕阅读器和其他辅助技术理解Web内容的结构、功能和交互。对于通过动态内容或用户界面控件改变而不是在页面加载时进行完全渲染的应用程序尤其有用。

其中,WAI-ARIA的核心之一是ARIA(AccessibleRichInternetApplications)。它是一种Web技术,允许Web开发人员向HTML元素添加额外的语义信息,以便于使残障用户能够更好地使用Web应用程序。还为Web开发人员提供了一种简单的方式来改善Web应用程序的可访问性。

注意:

WAI-ARIA规范的主要内容有:

注意:使用role属性并不意味着我们可以忽略HTML的基本结构和语义。仅应该在需要进行语义增强的情况下使用,而不是将其作为一种浏览器样式的替代方法。

不同的角色之间,可能会存在超类或子类的关系,如果你熟悉JavaScript的类就很好理解了。WAI-ARIA规范中定义了近100个不同的角色,这些角色可以被分为以下几种类别(角色具有的必需、支持、继承和禁止的状态/属性请看后文状态与属性部分)。

抽象角色表示为网页语义而设计的一组无形的角色,描述了用户界面中的结构和行为。

注意:抽象角色只是用来构建具体角色的概念模型,它们缺乏明确的语义含义,可能会导致混淆和错误的解释,因此不能被直接用于描述Web内容。

部件角色代表用户界面中的交互性控件或部件。例如,按钮、滑块、文本框、下拉菜单等。

文档结构角色是一组用于描述网页结构,通常不是交互式的。

标志性角色用作导航地标的页面区域,所有这些角色都继承自landmark基类型

实时区域角色描述如何将Web应用程序中动态变化的内容与屏幕阅读器进行交互,使得这些内容能够被盲人和视力受限用户等人士正确地感知。

窗口角色角色充当浏览器或应用程序中的窗口。

WAI-ARIA提供了一组辅助功能状态/属性,用于支持各种操作系统平台上的平台辅助功能API。属性是控件或组件的持久化特征或配置选项。通常在创建控件或组件时设置,并且在其整个生命周期内保持不变,对应于控件或组件的默认状态;状态是指控件或组件当前所处的状态。两者都提供了关于对象的特定信息,并且都构成了角色性质定义的一部分。在HTML中两者均以aria-开头,作为HTML的全局属性使用。

注意:状态/属性也存在继承。

属性和状态的值均可以是以下几种类型:

注意:这些是状态/属性的通用类型,但不定义特定的表示。

在WAI-ARIA1.2规范中,状态/属性有40多个,分为下文6类。

注意:规范中有一类Drag-and-DropAttributes,但是在WAI-ARIA1.1规范中该类的两个状态/属性就已经被弃用了,因此本文不过多赘述。

有些状态/属性会出现在多个分类的情况,在本文中重复的状态/属性将提出放在一个表格中,如果分类A中的全部状态/属性也都属于其他分类,则会在分类A中说明。

另外各分类名称的缩写是我定义的,方便在重复的状态/属性表中查阅(有水文的成分)。

可翻译状态/属性在页面本地化时应该进行翻译。

WAI-ARIA1.2规范:

重复状态/属性:

有些状态/属性适用于所有宿主语言元素,而不管是否应用了角色。除非另有禁止,否则所有角色和所有基本标记元素都支持以下全局状态/属性。如果角色禁止使用任何全局状态或属性,那么这些状态或属性将在定义角色的部分中包含的特征表中被列为禁止的。

包含GUI系统或富internet应用程序中常见用户界面元素的特定属性,用于支持WidgetRoles。

包含特定于富Internet应用程序中实时区域的属性。这些属性可以应用于任何元素。这些属性的目的是指示内容更改可能会在没有元素具有焦点的情况下发生,并为辅助技术提供有关如何处理这些内容更新的信息。

注意:这部分状态/属性也均属于GSAP。适用于所有角色,并且没有继承到其他角色当中。

包含指示元素之间的关系或关联的属性,这些关系或关联无法从文档结构中轻松确定。

当在具有DOM焦点的元素上设置aria-activedescendant的值时,作者必须确保满足以下两组条件之一:

对于aria-colindex:作者必须将aria-colindex的值设置为大于或等于1、大于同一行中任何先前元素的aria-colindex值以及小于或等于整个表中的列数的整数。对于跨多个列的单元格或网格单元格,作者必须将aria-colindex的值设置为跨度的开头。

一个角色可以有多个状态/属性提供特定信息,一个状态/属性也可以适用于多个角色。以角色为主,与状态/属性会有以下几种关系:

注意:不是所有角色都会与状态/属性存在这四种关系,有些角色可能没有必需状态/属性。

WCAG和WAI-ARIA都是为改善Web内容的无障碍性而设立的标准和规范。但它们有几点不同:

另外WAI-ARIA补充了WCAG的内容,它们可以一起使用来实现更好的无障碍性。可以在元素上使用WAI-ARIA来增加交互式组件的无障碍性,并遵循WCAG的标准来确保页面的整体可访问性。

目前在一些设计社区中有很多大佬写了各种设计指南,对各种细节,包括字体样式、行高、滚动条、颜色对比度等等很多方面都有详细的建议和说明,大家也看得不少了,我就不过多赘述了。可以参考:

。。。

虽然这些指南不是标准规范,但是也能很大程度地提高Web应用的无障碍访问和应用美感。要注意,这些指南适用于各种Web应用,不只是CSS方面,只是对于我们前端开发人员来说,最主要直接方便能对这些指南细节进行设置和调整的莫过于CSS了。

另外,还可以利用Javascript内置的API来实现各种无障碍功能,这点下文有说明。除此之外,还有其他JavaScript无障碍问题,比如尽可能让所有交互元素都可以用键盘进行访问以执行某些复杂的功能,而不仅限于鼠标等等。

以在安卓和Windows环境下使用屏幕阅读器为例,先看一个简单的:

再来看一个复杂点的:

虽然在上面的中屏幕阅读器读出了我们想要的内容,但是不代表着这样就成功了,比如在上面的第一个,用Lighthouse测试时,无障碍部分只有96分,扣的4分在于ARIAprogressbarelementsdonothaveaccessiblenames,表示元素没有可访问名称。需要使用aria-label/aria-labelledby属性提供可访问名称。没有设置aria-label/aria-labelledby属性,可能会导致使用屏幕阅读器等辅助技术的用户无法理解它的用途。

另外Lighthouse也有浏览器插件版和工具包版。

Axe-core是网站和其他基于HTML的用户界面的无障碍测试引擎。支持多种平台和环境并且可以与测试框架结合使用。

使用方式(以上面第一个为例):

所以在测试的时候要考虑全面,设身处地将自己带入到各种人群中,思考他们会怎么使用你写的应用程序。

无障碍功能树(AccessibilityTree)是一个虚拟的树形结构,是一种将Web内容和应用程序中的无障碍功能组织和描述的方法。反映了Web页面中的无障碍信息,并且可以被辅助技术使用。无障碍功能树通常由浏览器自动生成,与DOM树类似,但DOM树只反映了文档的结构和内容;而无障碍功能树还包含许多其他属性,例如元素的角色、状态、名称和值等。

这部分主要介绍两个与屏幕阅读器有点类似的API。但要强调一下与我们平时的方式方法没什么不同,我们可以使用常见的方式方法结合WCAG和WAI-ARIA规范实现无障碍访问,比如一样可以用setAttribute()方法设置role和aria-*属性。只不过学习了Web无障碍了之后,要考虑的东西可能会变得比平时更多。

注意:在使用这些API时要考虑兼容性!

WebSpeechAPI能够将语音数据合并到Web应用程序中。包含两个组件:SpeechRecognition(语音识别,即语音→文本)和SpeechSynthesis(语音合成,即文本→语音)。

AudioAPI(音频API)各位读者应该很熟了,它是一组用于处理音频的JavaScript接口。允许开发人员创建和控制音频流,包括音频的生成、处理和播放。

AudioAPI也能做到类似屏幕阅读器的功能,比如在用户鼠标悬停、键盘聚焦、移动端触摸等等时机创建一个Audio实例,并将准备好的音频赋值给实例的src属性,接着播放即可。这种也是某个政府网站的屏幕朗读的实现方式的一部分,不过我忘记是哪个网站了。

作为一名程序员,Web无障碍是一个非常重要的话题,学习Web无障碍也是一个非常有意义的过程。它可以帮助我们建立一个更加包容和平等的互联网。通过实现Web无障碍,我们可以让更多的人都能够享受到互联网带来的便利和乐趣,无论他们是否有不同的障碍。同时,这也是一个让我们更好地理解和尊重不同人群需求的机会。

THE END
1.法律之网中国法治的纹理与结构中国宪法是整个法律体系中的最高法源,它为国家的政治、经济、文化等各个方面提供了根本性指导。在宪法之下,是一系列具体实施于社会生活各个领域的法律。这包括刑事诉讼程序律、民商事诉讼程序律以及劳动合同律等。 行政管理 除了司法机关,还有一大批行政机关,他们通过出台各种行政规范来管理社会秩序和经济活动。这些规范https://www.seohspm.com/ke-pu-wen-zhang/473306.html
2.九张图带你了解宪法2024年邕宁要闻九张图带你了解宪法发布日期:2024-12-05 17:25 来源:自治区司法厅依法与普法治理处 【 字体: 大 中 小 】 打印 Copyright ? 2008-2018 邕宁区人民政府 版权所有 南宁市邕宁区人民政府主办 南宁市邕宁区委宣传部承办 网站举报受理和处置管理办法 桂公网安备 45010902000013号 桂ICP备20002163号 网站标识码http://yongning.gov.cn/yw/ynyw/2024nynyw/t6217701.html
3.尊宪崇法宪法知识知多少九张图带你了解12月4日,是第十一个国家宪法日。 从出生,到老去,从入学、工作、结婚到退休,在人生的每一个重要时刻,宪法都默默地保护和陪伴我们。 可以说,你我的一生都与宪法息息相关。 你对宪法了解多少?让我们一起来认真学习宪法。 来源:人民网、人民日报中央厨房-法治头条工作室https://m.thepaper.cn/newsDetail_forward_29556839
4.宪法知识知多少九张图带你了解中央法治结婚宪法知识知多少 九张图带你了解 12月4日,是第十一个国家宪法日。 从出生,到老去,从入学、工作、结婚到退休,在人生的每一个重要时刻,宪法都默默地保护和陪伴我们。 可以说,你我的一生都与宪法息息相关。 你对宪法了解多少?让我们一起来认真学习宪法。 (人民网、人民日报中央厨房-法治头条工作室)特别https://m.163.com/dy/article/JII8G2210530QRMB.html
5.对称现象教案及反思(精选9篇)因律师-当事人间的口语语篇中只涉及律师和当事人两人,据此,可把律师-当事人间口语语篇中的信息做如下分类: A信息:A知,B不知 B信息:B知,A不知 C信息:AB共知 1.2法律语篇树状信息结构模式 法律语篇树状信息结构模式用15个疑问词标明语篇的主要信息点,全部信息点构成一个层级系统,具有明显的树状结构。“该模式https://www.360wenmi.com/f/file9z4b8c3p.html
6.银行相关法律法规—知识点梳理树状图(一)1、银行相关法律法规知识点梳理树状图(一)银行业主要业务法律规定银行业相关法律法规(一)银行业监管及反洗钱法律规定中国人民银行监督管理措施相关规定银监会监督管理措施相关规定违反银行业监督管理规定的处罚措施反洗钱法律制度直接检查监督权建议检查监督权在特定情况下的全面检查监督权监管对象范围监督管理措施刑事责任行政https://www.renrendoc.com/paper/126550737.html
7.收藏:62张法律思维导图,一张图解决一个法律问题右向导图:可以说是最基础也最泛用的导图布局,通过分支和支线上的标注,可以表示分类、因果、子母项等多种内容和逻辑关系,很适合用于梳理具体法律问题。 树状图:树状图也叫做“向下分类图”,主要是对零散和数量繁多的事物进行分类,一个主题对应若干个类别,这些类别再细分为对应各具体事物的罗列。使复杂的事物变得更https://www.360doc.cn/article/80850145_1054181661.html
8.黄宇骁:行政法学总论阿基米德支点的选择当然,不同学者对裁判和实定法的归纳与理解是不同的,因而对新行政法律关系的分类有些许区别。由于新行政法律关系被作为行政法学总论阿基米德支点是新近发展的学术观点,因此,本文在此仅选取一种相对较为成熟的代表性编排方式供参考(参见图5)。 图5 新行政法律关系方案的总论编排示例http://fzzfyjy.cupl.edu.cn/info/1035/11529.htm
9.九张图带你了解宪法九张图带你了解宪法 广西大数据发展局 2024年12月05日 18:49 广西 (来源:自治区司法厅)· 往期推荐 5G后面加个A,不止网速能起飞! 数字应用场景丨广西这个系统,让边境游不再是难题 广西“数据要素×”典型案例分享之四丨“桂通码”:一码通行驱动数字生活服务新飞跃港市:从https://mp.weixin.qq.com/s?__biz=Mzg2OTA3MjYxMw==&mid=2247550126&idx=4&sn=7f2075727cd546bfca58e362c6765dd4&chksm=cfb1c047357afada2d9f75521a75bef2ebe23941251e036d34e73d0c61bc2895d937fe6730a2&scene=27
10.环境影响评价《环境影响评价》ppt课件ppt大学课件预览1、具有法律强制性 2、纳入基本建设程序 3、评价对象偏重于基本建设项目 4、分类管理 面布置(附图)、职工人数、全员劳动生产率。对 扩建、改建项目,应说明原有规模。 http://read.cucdc.com/cw/63025/145516.html
11.单位情况说明模板16篇(全文)(五)生产类别、储存类别:按甲、乙、丙、丁、戊分类填写。 二、消防许可情况登记表:单位的所有审批、验收、安全检查等法律文书均应登记并打孔装订在档案内“消防许可情况登记表”的后面。 三、单位消防管理组织机构图:单位的消防管理组织机构图可以“树状图”形式制定,制定后打孔装订在档案内“单位消防管理组织机构图https://www.99xueshu.com/w/fileskke5hbb.html
12.批判与创意思考超星尔雅学习通网课答案2、【判断题】思维导图是通过带顺序标号的树状的结构来呈现一个思维过程,将放射性思考具体化的过程。( ) 4.10思维导图绘制 1、【判断题】绘制思维导图时,可以通过使用各种相关的色彩、图示和符号来表示联想。( ) 2、【判断题】绘制思维导图时,图片越多越好。( ) http://changchun.ehqc.cn/show/30_32.html
13.国土资源局地籍管理信息系统及数据库建设招标公告由于土地管理工作的法律、法规和政策随着经济社会发展会相应地进行调整,因此要求系统具有良好的动态性和可扩展性,能够依据实际工作做一定程度地动态修改、扩充和调整,并保证调整前后应用过渡的平稳性,能以零编码扩展实现相关表单、报表等的变化。 (3)兼容性https://www.bidcenter.com.cn/newscontent-5788559-1.html
14.2024年二级创新项目预评价①历史资料逻辑分类清单。 ②资料存储结构树状图及文件命名规则。 ③完成历史资料去重及文件位置调整。 ④组织电子资料管理培训。 实施人(占比):李栓-0.2; 朱一迪-0.6; 韩成松-0.1; 聂岩林-0.1 1分 2分 3分 4分 实施难度(满分3分) 作用期(满分3分) https://www.wjx.cn/xz/255179042.aspx
15.教师手抄报简单又漂亮范文所谓的“思维导图”,又俗称“心智图”(Mind Map),也称“脑图”“心智地图”“脑力激荡图”“思维导图”“灵感触发图”“概念地图”“树状图”“树枝图”或“思维地图”,是一种图像式思维的工具,以及一种利用图像式思考辅助工具来表达思维的工具,是使用一个中央 https://www.gwyoo.com/haowen/41227.html
16.系统集成项目管理工程师考试知识点整合16) 优先矩阵图 17) 过程决策程序图 18) 活动网络图 新七种:相互关系图、亲和图、树状图、矩阵图、优先矩阵图、PDPC、活动网络图。 老七种:因果图(石川图、鱼骨图)、流程图、直方图、检查表、散点图、排列图、控制图。 七、 项目人力资源管理 https://blog.csdn.net/yang_lover/article/details/44683055
17.有关安全评价方法②故障树故障树是一种特殊的倒立树状逻辑因果关系图。它用上表中事件符号、逻辑门和转移符号描述系统各种事件的因果关系,逻辑门的输入事件是输出事件的因;输出事件是输入事件的果。二状态故障树如果故障树的底事件刻画一种状态,而其对立事件也是刻画一种状态,则称为二状态故障树。多状态故障树若故障树的底事件有3种https://www.lawtime.cn/info/shengchan/aqsczd/2012071145607.html
18.职责链模式(chainofresponsibility)徐朗图如下: UML很简单,让我们先来看一个简单的例子。 四. 职责链模式应用之请假管理 七. 职责链的扩展——树状链结构 职责链中,我们之前看到的都是一些单链结构,但是其实在很多情况下,八. 由法律想到——职责链的兜底条款 仔细想想法律条文,尤其是刑法,经常可以看到这样的条文: https://www.cnblogs.com/xulang/p/5506176.html
19.法律论文:法律文本中条件句的分类特点与翻译1.1、 法律文本中条件句的分类 法律文本中的条件句同样遵循英语注重句子结构的规律,是在主语加谓语这一基本英语句式的基础上加上修饰、补充、说明成分或一些从句延伸而来的。相应的,我们可以将法律文本中的条件句分为简单条件句和复杂条件句两类。 从英语句子中的动词性质看,其基本句型结构主要包括以下五类,即主谓句https://www.tingclass.net/show-7844-511662-1.html
20.汉语写作与百科知识本书将基础知识、应试方略和配套练习融为一炉,知识中有应试,应试中有练习;“中图法”“百科三分法”“公文四规范”等学科概念首次进入读者视野,让人眼前一亮。 特点三:技术 本书大量使用频次统计、关键词提取、文本重构等多项信息处理技术;并成功借鉴树状结构、历时分析、样本处理等跨学科呈现形式及研究手段,大大https://baike.sogou.com/v69831530.htm
21.采集与制作标本教案教师引导:我们能不能就血液的组成、三种血细胞的区别作一个小结?任何形式都可以。学生通过阅读,回顾本节所学知识,可通过树状图、列表等方法对知识进行总结。 二、输血和血型 CAI展示事故受伤后,如果你医生,面对失血过多的病人,你如何抢救? 在什么情况下伤者才需要输血? https://www.ruiwen.com/doc/836572167.html