• WAI-ARIA无障碍网页资料


    WAI-ARIA无障碍网页资料

    一、ARIA是啥?

         WAI-ARIA指无障碍网页应用。主要针对的是视觉缺陷,失聪,行动不便的残疾人以及假装残疾的测试人员。尤其像盲人,眼睛看不到,其浏览网页则需要借助辅助设备,如屏幕阅读器,屏幕阅读机可以大声朗读或者输出盲文。而ARIA就是可以让屏幕阅读器准确识别网页中的内容,变化,状态的技术规范,可以让盲人这类用户也能无障碍阅读!

         虽然HTML5的出现大大增强了网页的可访问性和无障碍阅读,但是,其不是万能的,例如无法让盲人知道模拟控件的类型等。所以ARIA才显得更加重要。

        其次,ARIA规范一直在更新维护,浏览器方面IE8+以及其他所有现代浏览器都都已支持ARIA, 几乎可以说是全方位支持。流行的JavaScript库jQuery, 以及衍生的jQuery Mobile早已支持了ARIA,国内知名JavaScript库kissy也在11年支持了ARIA并在实际项目中使用了。

    二、实际应用的例子

          本例来自淘宝首页,示例对象见下截图(淘宝网右上角选项卡):

                     

           大家主要到这个部分的地方,F12开启开发人员模式,可以发现,后台有一行代码,如下:

                      

           这个就是ARIA在现实应用的例子。

    三、属性

           以下是整理后的:ARIA属性值表、ARIA属性表、ARIA状态属性表

         (1)、  ARIA属性表:

                                                                                                            ARIA Roles值示意及说明表

    role属性值 含义 HTML示意 说明
    alert 警告
     alert 例子代码
    例如ajax操作返回错误信息的div标签。
    alertdialog 表示警告弹出框
     alertdialog例子代码
     application  表示应用  
     application例子代码
     例如自定义的时间选择器。
    button 表示按钮
     button例子代码
    就是一个button
    checkbox 表示复选框
     View Code
     combobox  表示下拉列表框  
     View Code
     
    grid 表示网格
     View Code
     gridcell  表示网格单元  
     View Code
     类似于table & table-cell
    group 表示组合并
     View Code
     heading  表示应用程序标题头  
     View Code
     
     listbox  表示列表框  
     View Code
     
    log 表示日志记录
     View Code
    类似三国杀右侧记录战事区域;或是比赛文字直播记录区域
    menu 表示菜单
     View Code
     
     menubar  表示菜单栏  
     View Code
     
     menuitem  表示菜单项  
     View Code
     
    menuitemcheckbox 表示可复选的菜单项
     View Code
     menuitemradio  表示只能单选的菜单项  
     View Code
     
    option 表示选项
     View Code
     presentation  表示称述  
     View Code
     
     progressbar  表示进度条  
     View Code
     
    radio 表示单选
     View Code
     radiogroup  表示单选组  
     View Code
     
     region  表示区域  
     View Code
     
     row  表示行  
     View Code
     用在表格模拟的行列表上,对应table下面的tr标签。
    separator 表示分隔
     View Code
     slider  表示滑动条  
     View Code
     
     spinbutton  表示微调  
     View Code
     
     tab  表示标签  
     View Code
     
     tablist  表示标签列表  
     View Code
     
    tabpanel 表示标签面板
     View Code
     timer  表示计数  
     View Code
     模拟计数器,使用在动态显示规律数值变化的地方
     toolbar  表示工具栏  
     View Code
     左边HTML表示一个剪切,复制,粘贴三功能在一起的工具栏。
     tooltip  表示提示文本  
     View Code
     
    tree 表示树形
     View Code
    效果见下面treeitem中的图。
    treeitem 表示树结构选项
     View Code

         

    (2)、  ARIA属性值:

                                                                                                            ARIA  属性值示意及说明表

    属性名 属性值 HTML代码示例 说明
     aria-activedescendant  字符串。表示后代元素的id值。  
     View Code

     aria-activedescendant 属性定义了当

    工具栏获取焦点时,哪一个工具栏的子控

    件获取了焦点。在此HTML示例中,工具

    栏的第一个控件(拥有id“button1″)是

    能获取焦点的子控件。

     aria-atomic

     字符串。表示区域内容是否完整

    播报。值可以为truefalse。当

    true时,表示辅助设备需要把

    整个区域内容都通报给使用者;

    如果为false则表示只需要通报

    修改的部分。

     
     View Code

     还是这个时间选择器年月标题的例子。这

    里的aria-atomictrue则表示当时间改变

    的时候,这里的年月日期要完整播放,不

    要只改了月份就只报月份内容。

     aria-autocomplete

     字符串。表示用户的文本框的

    自动提示是否提供。可选值有:

    inlinelistbothnone.

     
     View Code

     目前,该属性对于inlinelist两个值

    的含义暂不清楚。不过可以确定的是该

    属性对应HTML5中autocomplete属性。

    需要注意的是,如果aria-autocomplete

    ="list"aria-autocomplete="inline"

    aria-autocomplete="both"被设置在

    支持autocomplete的元素上,则

    autocomplete的属性值需要设成

    "on", 如果是aria-autocomplete

    ="none",则需要设成"off"

    aria-busy

    字符串。表当前区域的忙碌状

    态。默认为false, 表清除busy

    状态;可选为true, 表该区域

    正在加载;或为error, 表示该

    区域验证无效。

     View Code

    如果某个区域内(如这里ul)有多个地

    方需要修改,需要全部修改完毕再通

    知使用者的话,就可以先将aria-busy

    设为true, 等到全部内容更新完毕后

    再设成false. 该属性可以避免辅助

    工具在区域内容更新完毕前不断即

    时提醒使用者。

    aria-controls

    字符串。空格分隔的id属性值

    列表。

     View Code

    该属性定义了元素间不能通过文档

    结构决定的关联关系。ariaControls

    属性主要被rolegroupregion,

    widget的元素使用

    aria-describedby

    字符串。空格分隔的id属性值

    列表。

     View Code

    同样的,该属性定义了文档结构表

    现不出来的的元素间的相互关联性。

    该属性旨在通过标签提供更多用户

    可能需要的信息。如果指定了不只

    一个id, 所有元素会合并在一起共

    同创建一条单独的描述。

    aria-dropeffect

    字符串。表示拖拽效果。可选

    值有:copymovereference

    executepopupnone, 依次表

    示:复制,移动,参照,执行

    ,弹出以及没有效果。

      该属性用在拖拽上。
    aria-flowto 字符串。空格分隔的id值们。  

    如果该属性值对应的是单独的id,

    辅助技术会恢复目标元素的阅读;

    如果对应的是多个id, 则辅助技

    术会让用户去选择、导航到目标

    元素。

    aria-grabbed

    字符串。拖拽中元素的捕获状

    态。可选值有:truefalse

    undefined. 默认为undefined

    表示元素捕获状态未知。

    true表示元素可以捕获;

    false表示不能被捕获。

     

    该属性用在拖拽上。类似于

    HTML5中的draggable属性。

     aria-haspopup

     字符串。true表示点击

    的时候会出现菜单或是

    浮动元素; false表示

    没有pop-up效果。

     
     View Code
     
     aria-label  字符串。    定义一个字符串值标记当前元素。
     aria-labelledby  字符串。空格分隔的id  
     View Code

     aria-labelledby一般用在区域元素上,

    对于的id一般为对应的标题或是标签

    元素的id.关系型属性。

    aria-level 数值。表示等级。
     View Code
    上面的HTML类似于<h2>次标题</h2>
    aria-live

    字符串。可选值有:off,

     politeassertiverude

    默认为off, 表示不宣布更新;

    polite表示只有用户闲时宣布;

    assertive表示尽快对用户宣布;

    rude表示即时提醒用户,必

    要的时候甚至中断用户。

     View Code

    绝大多数的更新应该在用户闲

    暇的时候告知,即时提示对用

    户是一种干扰。如果希望内容

    完全更新后再提示,可以使用

    上面提到的aria-busy.

    左侧的HTML为时间选择控件

    的年月标题部分,aria-live=

    "assertive"表示的是当用户

    选择了新的时间的时候,尽

    快通知用户时间发生了变更。

    aria-multiselectable

    字符串。表示是否可多选。

    默认为false, 表示一次只

    能选择一个项。true表示

    一次可以选择多个项。

     

    例如手风琴展开收起效果,

    我们可以使用aria-

    multiselectable来告

    知辅助设备,一次可以

    展开多个项还是只有一个展开。

    aria-owns 字符串。值为目标元素id.
     View Code
     aria-posinset  数值。表示当前位置    用在设置和获取一个集合内某项的当前位置
     aria-readonly  

    字符串。表示是否只读。

    默认为false, 表示元素

    值可以被修改;true

    表示元素指不能被改变。

     
     View Code
     
     aria-relevant

     字符串。表示区域内哪

    些操作行为需要做出反应。

    可选值有:additions

    removalstextall

    可以空格分隔多个一起

    显示. additions表示新

    增节点的时候做出反应;

    removals表示删除节点

    时重要操作;text表示

    文本改变是值得重视的;

    all等同于同时使用上

    面三个属性值。

     
     View Code
     左边的HTML表示当日志内容有添加的时候做出反应。
     aria-required

     字符串。元素值是否必

    需。默认为false, 表示

    元素值可以为空;true

    表示元素值是必需的。

     
     View Code
     多半用在表单控件中。对应HTML5中required属性。
    aria-secret

    字符串。表示机密状态。

      具体含义不详
    aria-setsize 数值。设置的尺寸大小值。   顾名思意
    aria-sort

    字符串。表示表格或格

    栅中的项是以升序排列

    还是降序排列。可选值:

    ascending(↑),

    descending(↓), none

    other.

      Widget组件应用属性。
    aria-valuemax 数值。表允许的最大值。
     View Code

    用在范围组件上。对应

    于HTML5中的max属性。

    aria-valuemin 数值。表示允许的最小值。
     View Code

    用在范围组件上。对应

    于HTML5中的min属性。

    aria-valuenow 数值。表示当前值。
     View Code

    用在范围组件上。对

    应于value属性。

    aria-valuetext

    字符串。定义等同于

    aria-valuenow人可读

    的文本。

      用在范围组件上。

          

    (3)、  ARIA属性值:

                                                                                                            ARIA  状态值示意及说明表

    属性状态 属性值 HTML示意 说明
    aria-checked

    字符串。表示检查的状态。

    true表示元素被选择;

    false表示元素未被选择;

    mixed表示元素同时有选

    择和为选择状态。

     View Code

    该属性用来表明用户是

    否选择了某些项(如上边

    这个截图所示)。

     aria-disabled

     字符串。表禁用状态,

    true表示当前是非激活

    状态;false表示清除

    非激活状态。

     
     View Code

     对应单复选框等控件的

    disabled属性,一般用在

    自定义模拟控件中。

     aria-expanded

     字符串。表示展开状态。

    默认为undefined, 表示

    当前展开状态未知。

    其它可选值:true

    表示元素是展开的;

    false表示元素不是展开的。

     
     View Code
     

    例如在手风琴交互效果中标示展开

    与否的状态。该属性对应HTML5

    open属性。

    aria-hidden

    字符串。可选值为true

    falsetrue表示元素隐藏

    (不可见),false表示元素

    可见。

     View Code

    该属性使用非常普遍。几乎所

    有涉及到显示与隐藏这类交互

    或没有交互的地方都可以应用

    该属性。左边的示例HTML代

    码来自进度条进度值显示的

    div, 当前aria-hiddenfalse,

    表示该进度值是可见的。

    aria-invalid

    字符串。表示元素值是否

    错误的。默认为false,

    表示是OK的,如果为true,

    则表示值验证不通过。

     View Code
     
    aria-pressed

    字符串。表示按下的状态,

    可选值有:truefalse,

     mixedundfined.默认为

    undfined, 表示按下状态

    未知;true表示元素往下

    (按钮按下);false

    示元素抬起;mixed表示

    元素同时有按下和没有

    按下的状态。

     View Code

    左边HTML表示按钮已经按

    下,同时处于禁用状态。

    aria-selected

    字符串。表示选择状态。

    可选值有:truefalse,

     undefined. 默认为

    undefined,表示元素

    选择状态未知。true

    表示元素已选择;

    false表示未被选中。

     View Code

                        注意:为了跨浏览器兼容,总是使用WAI-ARIA属性解析来访问和修改ARIA属性,例如object.setAttribute("aria-valuenow", newValue).

     四、附录

            ARIA属性关系图:

            

            

  • 相关阅读:
    iOS自己主动化測试的那些干货
    RecylerView 的使用方法
    java 获取局域网中的全部主机名和IP地址
    C++项目參考解答:求Fibonacci数列
    tableView的用法具体解释
    【jQuery小实例】---3 凤凰网首页图片动态效果
    【jQuery小实例】---2自定义动画
    【jQuery小实例】js 插件 查看图片
    【url重写】
    【文件上传】
  • 原文地址:https://www.cnblogs.com/proving/p/10364489.html
Copyright © 2020-2023  润新知