没有合适的资源?快使用搜索试试~ 我知道了~
理论计算机科学电子笔记157(2006)87-100www.elsevier.com/locate/entcsWeb可访问性评价工具的研究与改进Vicente Luque Centeno1 Carlos DelgadoKloos2Jesu'sAriasFisteus3LuisA'lvarezA'lvarez马德里卡洛斯三世大学远程信息处理工程系摘要W3C的Web内容可访问性指南(WCAG)包括一组65个检查点或规范,网页应该完成这些检查点或规范,以便残疾人士或使用替代浏览器访问这65个检查点中的许多检查点只能由人工操作员检查,因此意味着全面评估的成本非常高。然而,一些检查站可以自动评估,从而以非常有效的方式发现无障碍像Bobby,Tawdis或WebXACT这样的知名工具通过使用自动,手动和半自动评估的混合来评估Web可访问性然而,这些Web评估的自动化程度对于这些工具中的每一个都不相同由于WCAG不是以正式的方式编写的,这些评估人员可能对这些规则的含义有不同的因此,取决于使用哪种评估工具,对于单个页面可能获得不同的评估结果考虑到一个完全自动化的Web可访问性评估是不可行的,因为WCAG的性质,本文评估了一些知名的Web可访问性评估工具的WCAG自动化覆盖率,发现他们的弱点和缺陷。我们还为那些检测到这些差异的检查点提供了正式的规范,从而挑战了nowdays关键词:自动评估,WAI,WCAG,Web无障碍,网站评估员1 电子邮件地址:vlc@it.uc3m.es2 电子邮件地址:cdk@it.uc3m.es3 电子邮件地址:jaf@it.uc3m.es1571-0661 © 2006 Elsevier B. V.在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2005.12.04888诉Luque Centeno等人/理论计算机科学电子笔记157(2006)871. 介绍Web内容可访问性指南(WCAG)1.0 [1]由W3C定义为一组14条指南和65个检查点,Web页面应该完成,以便残疾人,使用替代浏览器的人甚至Web代理可以访问,如[15]所示。然而,它们使用模糊,模棱两可和主观的术语来定义,而不是如此关注底层的HTML格式。因此,许多检查站需要人为判断,它们没有提供一个客观的标准来遵循。这意味着不可能仅基于便宜的自动评估条件来构建完全自动化的可访问性评估器。为了完全确定Web可访问性,还应该评估一些半自动和手动检查点。因此,我们可以将检查点分为以下四类.(i) 客观的自动化规则有明确的定义,并明确规定了一个没有人会拒绝或误解的例如,检查HTML标记中是否存在一组定义良好的强制性元素和属性,这是这一类别中的一个典型检查点(ii) 主观自动化规则指定可以自动化的模糊条件,但它们需要一些额外的特定非模糊解释,这些解释可能被不同的人群接受或拒绝。例如,检查文本是否过长是一个主观条件,因为它提到了一个条件,这是模糊的评估。即使有些人可能会同意超过150个字符的替代文本可能会被归类为太长,但其他一些人可能不这么认为。期望的是,主观规则所要求的这些额外的特定非模糊解释可以在评估工具中定制,但是它们不能被容易地定制,因为它们通常被实现为客观自动化规则。对于这些主观的自动化条件,W3C定义了一组算法[2],提供了一些帮助.(iii) 半自动规则,不能自动评估,但工具的帮助可以将用户的兴趣集中在相关的因此,如果没有元素可以触发条件的评估,则它们不需要用户(iv) 手动规则,需要人工判断,并且不能显式地与任何特定标记相关联,因为它们将文档作为一个整体来引用。半自动和手动规则的评估成本都非常高,诉Luque Centeno等人/理论计算机科学电子笔记157(2006)8789应该保持在最低限度。可自动化的规则,即使是主观的,也意味着非常廉价的评估。2. Web无障碍评估工具Web可访问性评估工具的一个主要问题是它们提供的WCAG覆盖率很低。他们的行为只包括解决网页上的一些可访问性障碍,因此他们不能保证实现可访问性,但他们可以保证当发现障碍时,可访问性是错误的。当今Web可访问性评估工具的这种弱点然而,一个主要的问题是,我们可以很容易地找到不同的评估结果的页面取决于所使用的工具。问题是,虽然检查点可以在一个工具中自动化,但在其他工具中它可能是半自动化的或被忽略的。 尽管他们被认为在这两种工具中,由于每种工具都有自己的解释,在一个工具中可能很容易在其他工具中无法触发本文评估了几个Web可访问性工具,以确定它们对WCAG 1.0的自动化覆盖率,并给出了一些形式化的规则作为这些工具的规范(但也作为实现)2.1. 正在评估的用于此比较的Web可访问性评估工具是Bobby [12],Tawdis [13](由西班牙社会事务部支持)和WebX- ACT [14](来自Bobby的同一家公司)。我们选择这些是因为它们是众所周知的,可以在网上免费使用。我们不知道其他类似的评估工具(除了Torquemada [18],遗憾的是,它已经不再可用),可以在没有人为干预的情况下提供这样的最终结果2.2. 检查点与检查点WCAG是非常异构的。它们中的许多都暗示着一种只有人类的判断才能评价的情况。其中一些隐含了一组几个较低层次的条件。为了正确评估,我们定义了WCAG检查点的条件,这是一组103个条件,可以执行比原始65个WCAG条件更详细的评估。一个WCAG条件可能意味着一个或多个WCAG检查点的条件。例如,检查点WCAG 4.1(清楚地识别自然语言中的更改)可能意味着检查点条件WCAG 4.1a(在同一文档中使用xml:lang属性处理不同语言的文本)和WCAG 4.1b(使用hxml:lang属性90诉Luque Centeno等人/理论计算机科学电子笔记157(2006)87指向不同语言文档的链接上的属性)。2.3. 自动覆盖检查点评估表1显示了65个WCAG检查点如何根据每个工具分类到前面提到半自动和手工规则都意味着人工评估成本,因此我们的兴趣主要集中在总共14个可能的客观自动化检查点中,WebXACT检测到其中5个,Bobby只检测到(完全)4个,Taw只检测到一个。至少有14 - 5 = 9个客观上可自动化的检查点,其中一些在下面的部分中提供,没有被任何分析工具完全实现。主观自动化规则在这些工具中被用作半自动化,因为用户没有能力指定这些主观条件的偏好,因此需要额外的人工干预。理论鲍比TawWebXACT客观自动化14415主观自动化2000半自动31332033纯手工18284427总65656565表1WCAG检查点表2显示了与表1相同的内容,但查看了我们的103个WCAG检查点客观自动化条件的数量揭示了WebXACT和Bobby等工具的隐藏价值,它们分别有25个和24个客观自动化条件。对于一个设计中没有考虑可访问性的网页来说,通过所有这些测试变得相当困难,因此这个数字足以让人感觉到随机页面很难实现可访问性。但这个数字仍然远远低于43个可能的条件,事实上,可以客观地自动评估。这意味着至少有43 - 25 = 18个客观的自动化条件无法通过我们的任何工具进行充分评估。其余部分只能用于部分评估。Taw在43条规则的集合中只得到了10条规则,结果很差(因此验证了大量的Web页面)。诉Luque Centeno等人/理论计算机科学电子笔记157(2006)8791理论鲍比TawWebXACT客观自动化43241025主观自动化11000半自动21301830纯手工28497548总103103103103表2WCAG关卡条件自动化比较3. 具有类似行为的从表1和表2中,我们可以确定,即使我们的工具可能对某些检查点具有类似的行为,但某些其他检查点显然具有不同的行为。表3显示了在所有评估工具上具有相同自动化行为的一些检查点条件。正如预期的那样,最著名的规则1.1a(为图像提供alt属性)就在这一集中。表3的第二列提供了一个正式的1.0 [3]和2.0版本[4]表达式,可用于处理该页面中违反规则的所有HTML元素。检查规则是否被破坏的条件包括将这些表达式的结果与空集进行比较。如果相等,则没有找到屏障例如,1.1a的规则处理所有具有没有alt属性。如果这个表达式的结果是空集,则规则1.1a满足。1.1b的规则解决了所有没有替代文本的图像按钮,1.1e的规则解决了所有没有提供noframes部分的框架集,...WCAG编号形式化规则鲍比,WebXACT,陶1.1a//img[not(@alt)]自动对象1.1b//input[@type=“image”][not(@alt)]自动对象1.1e//frameset[not(noframes)]自动对象1.5//area[not(@alt)]自动对象7.2a//blink自动对象7.3a//move自动对象13.2b//head[not(title)]自动对象表3自动求值器92诉Luque Centeno等人/理论计算机科学电子笔记157(2006)87规则3.2:根据公共语法根据[16],Web可访问性评估器不是XHTML [7] valida- tors。因此,我们所选择的工具都不支持对众所周知的DTD或XML Schema进行验证,因为有特定的工具(如[11])可以完成这项任务,并且因为可访问性不仅仅是XHTML验证(并且因为他们的作者希望使可访问性仍然适用于未经验证的文档)。然而,我们必须说,WCAG的规则3.2可能比任何其他规则本身都更能保证可访问性,因为有几个WCAG规则部分地基于语句,这些语句在文档根据DTD或XML Schema进行验证时自动实现。事实上,我们发现,根据所使用的XHTML的特性,可访问性可能更容易(或更难)实现。我们发现XHTML2.0 [10]提供了比XHTMLBasic更多的可访问性特性1.0[8],它本身提供了比XHTML 1.1更多的可访问性特性[9]。当正确的DTD或XML选择并验证的架构是:• 规则3.3:使用样式表控制布局和表示• 规则3.6:正确• 规则11.2:避免W3C技术4. 具有不同结果的表4和表5总结了在我们评估的工具中WCAG覆盖率最重要的差异每一行对应于一个(客观或主观)完全自动化的规则。然而,WebXACT和Bobby只对规则4.3、9.2a-c、10.4a-d、10.5、12.4b和13.1a提供了全自动评估,而其他规则则是半自动或手动的,尽管它们可以是全自动的。标记为“伪”的规则表4包括基于W3C标准的规则,用于指定何时使用longdesc属性(规则1.1c),何时正确使用标题元素(规则3.5),是否指定文档表5指出框架应该有一个描述(title属性)。然而,尽管这很容易自动化,但Bobby和Taw都不需要这样做。与Bobby相比,这是我们在WebXACT上发现诉Luque Centeno等人/理论计算机科学电子笔记157(2006)8793WCAG编号1.1c3.5a3.5b3.5c3.5d3.5e4.36.4a6.4b7.4,7.59.2a9.2b9.2c10.4a10.4b10.4c10.4d10.512.4b13.1a形式化规则//img[toolong alt(@alt)][not(@longdesc)]//h2[not(precedingg::h1)]参见图1见图2见图3见图4//html[not(@xml:lang)]//*[@onmouseover!= @onfocus]//*[@onmouseout!=@onblur]//Meta[@http-equiv=“refresh”]//*[@onmousedown!= @onkeydown]//*[@onmouseup!= @onkeyup]//*[@onclick!=@onkeypress]参见图9//textarea[normalize-space(text())=见图11见图12见图16见图17Bobby,WebXACT半伪自动目标。半半自 动 对象 . 自 动对象自动对象手动手动手动手动表4自动评估器中具有不同行为的规则:WebXACT和Bobby Vs TawWCAG编号12.1形式化规则//frame[not(@title)]WebXACT自动对象鲍比,陶手动表594诉Luque Centeno等人/理论计算机科学电子笔记157(2006)87自动评估器中具有不同行为的规则:WebXACT与Bobby和Taw诉Luque Centeno等人/理论计算机科学电子笔记157(2006)8795另一方面,表6显示了所有分析工具在完全自动化规则方面的可悲的普遍不良行为,然而,这些规则被不正确地视为手动或半自动化。非常令人惊讶的是,在不适当的属性(规则)6.3b)或不正确的tabindex或accesskey属性不会被任何分析工具检测到。WCAG编号形式化规则理论工具3.5f4.2a6.3b6.3b9.49.510.1a10.1a12.212.3a12.3b12.3c12.4a见图5见图6//a[starts-with(@href,“JavaScript:“)]//area[starts-with(@href,见图8//*[@target=//*[@target=//frame[toolong(@title)][not(@longdesc)]参见图13见图14//p[toolong p(text())]参见图15自动主题.自动主题.自动对象.自动对象.自动主题.自动主题自动对象手动手动半手动手动表6自动评估器表6包含了一些规则,用于指定键盘和鼠标相关的处理程序何时不配对(规则9.2),限制弹出窗口和其他新兴窗口外观(规则10.1),框架何时不提供文本描述(规则12.1)以及其他一些在下面的表格中详细描述的规则(参考表4,5和6)。规则3.5:正确图1为所有不正确使用的h3元素指定了一个XQuery 1.0 [5]寻址表达式。h1和h2必须正确地位于任何h3元素之前。我们遗憾地发现,没有评估工具需要这样的96诉Luque Centeno等人/理论计算机科学电子笔记157(2006)87正确的标题使用,尽管W3C建议邀请我们正确和一致地使用标题,并建议使用连续的标题(不要从h1跳到h3而不经过h2)。//h3[let $h3:=self::h3 returnlet $h2 : =$h3/preceding : : h2[last()]returnlet$h1:=$h3/preceding::h1[last()] return$h1=()或$h2=()或$h1>> $h2]Fig. 1. Xquery 1.0中h3元素的表达式打破了WCAG3.5b图2、图3和图4提供了不正确的h4、h5和h6的寻址表达式。H6元素。//h4[let $h4:=self::h4 returnlet $h3 : =$h4/preceding : : h3[last()]returnlet$h2:=$h4/preceding::h2[last()] returnlet $h1 : =$h4/preceding : : h1[last()] return$h1=()或$h2=()或$h3=()或$h1>> $h2或$h2>> $h3或$h3>> $h4]图二. Xquery 1.0 expression for h4 elements breaking WCAG3.5c//h5[let $h5:=self::h5 returnlet $h4 : =$h5/preceding : : h4[last()]returnlet$h3:=$h5/preceding::h3[last()] returnlet $h2 : =$h5/preceding : : h2[last()]returnlet$h1:=$h5/preceding::h1[last()] return$h1=()或$h2=()或$h3=()或$h4=()或$h1>> $h2或$h2>> $h3或$h3>> $h4或$h4>> $h5]图三. Xquery 1.0 expression for h6 elements breaking WCAG3.5dHeader元素不应该太长,如图5所示。规则4.2:使用适当的缩写和首字母缩略词缩略语和首字母缩略词的使用不应前后不一致。它们应该有语义和独特诉Luque Centeno等人/理论计算机科学电子笔记157(2006)8797的定义。虽然语义值不容易自动处理,但唯一性肯定可以。图6检测了所有缩写和首字母缩略词,这些缩写和首字母缩略词为单个给定文本。然而,规则4.2a不足以保证规则4.2,因为所有可能的缩写和首字母缩略词都应适当标明。98诉Luque Centeno等人/理论计算机科学电子笔记157(2006)87//h6[let $h6:=self::h6 returnlet $h5 : =$h6/preceding : : h5[last()]returnlet$h4:=$h6/preceding::h4[last()] returnlet $h3 : =$h6/preceding : : h3[last()]returnlet$h2:=$h6/preceding::h2[last()] returnlet $h1 : =$h6/preceding : : h1[last()] return$h1=()或$h2=()或$h3=()或$h4=()或$h5=()或$h1>> $h2或$h2>> $h3或$h3>> $h4或$h4>> $h5或$h5>> $h6]见图4。 Xquery 1.0 expression for h6 elements breaking WCAG3.5e(//h1|//h2|//h3|//h4|//h5|//h6)[tolongh(te xt())]图五、用于头元素的XQuery 1.0表达式WCAG3.5f(//abbr|//acronym)[let $a:=self::node()return count((//abbr|//acronym)[text()=$a/text()])!= 第1页]见图6。 abbr和acronym元素的XQuery表达式打破WCAG4.2a规则9.4:指定正确的Tab键顺序当指定的制表顺序与默认顺序不同时,应始终使用tabindex图7指出了所有具有tabindex属性的元素,该属性不是一个正确的数字,或者被多个元素共享(应该唯一使用//*[@tabindex][let $n:=self::node()/@tabindex返回not(isnumber($n))或count(//*[@tabindex=$n])!= 1或number($n)1或number($n)>count(//*[@tabindex])]见图7。 用于破坏WCAG9.4规则9.5:提供正确的键盘快捷键无论何时指定键盘快捷键,都应该一致地使用访问键属性。图8指出了所有具有accesskey属性的元素,该属性不是正确的字符,或者由几个元素共享(it应该是唯一的)。诉Luque Centeno等人/理论计算机科学电子笔记157(2006)8799//*[@accesskey][let $c:=self::node()/@accesskey返回not(ischar($c))或count(//*[@accesskey=$c])!=第1页]见图8。 用于破坏WCAG9.5100诉Luque Centeno等人/理论计算机科学电子笔记157(2006)87规则10.4:在表单域中可编辑的(非隐藏的)表单字段不同于文本区域(即文本字段、单选或复选框按钮),这些字段具有空值或没有默认值,可由图9中的XQuery寻址表达式检测到。空文本区域由表6中10.4b的表达式检测。//input[@type!=”hidden见图9。 输入元素的XQuery表达式WCAG10.4a默认情况下具有选定选项的选择框由图10中的表达式检测。图11描述了缺省情况下没有选中任何选项的单选按钮集。//select[not(@multiple)][not(.// option[@selected])]见图10。 用于选择元素的XQuery表达式WCAG10.4c//input[@type=见图11。 单选按钮的XQuery表达式WCAG10.4d规则10.5:在相邻链接图12处理了所有连续的链接,这些链接之间除了空白什么都没有。对于这个规则,我们使用XQuery和XPointer的组合[6]。//a[position()last()][let $a:=self::a return
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功