今天是谷歌夏季编码计划的官方最后一天,我的项目是为 Joomla 1.6 创建一个无障碍管理员模板。已经完成了许多工作,但还有很多工作要做,以使 Joomla 在后端与前端一样无障碍。如果你对无障碍和 Joomla 感兴趣,请加入我,让 Joomla 完全无障碍。
Hathor 无障碍管理员模板
标准
高对比度
核心更改
今年夏天进行的一些修复已经实现到了即将发布的 Joomla 1.6 beta 的代码流中。这些通常是会产生重大影响的小更改。
菜单已被更改,以便模板编写者可以制作无障碍菜单,状态栏已被重构以更易于理解,特别是子菜单中的各种链接现在可以通过键盘激活。工具栏图标(编辑、保存、取消等)外观不变,但它们现在就像菜单一样在列表中。这些是每个人都会有的更改。
基本信息
我的模板,代号为 Hathor,带来了进一步的增强。有两种模板可选,其中一种是高对比度。有常规或粗体文本的选项。
这个模板可以用来创建您自定义颜色的模板。高对比度模板是用一个仅包含颜色样式的 CSS 文件创建的。如果您愿意,您可以手动更改该文件中的颜色。
我将子菜单重构为选项卡式界面,并将工具栏图标立即放置在左侧选项卡下方。这个界面更明显,减少了鼠标从一边到另一边的移动。
无障碍更改
那些标有星号 (*) 的项目需要应用核心补丁。模板在没有补丁的情况下也可以运行,但不会提供特定的功能。
在所有页面上
- 跳转到内容
- 状态模块有文本
- 无障碍菜单
- 子菜单无障碍(有些需要 * 核心更改)
- 列表中的工具栏
- 适当的结构化标题
- 颜色通过WCAG 2.0 AA测试
- *手风琴面板可以通过键盘打开
- *表格数据中初始复选框上的标题
- 结构段上的WAI-ARIA角色
- 必需和只读表单字段上的WAI-ARIA属性/状态
- *用于标记无效表单字段的WAI-ARIA属性/状态
- *在“显示页数”选择中移除跳转菜单
在具有模板覆盖的页面上
- 适当的结构化标题
- 表单字段的标签
- 表格数据表单字段上的标题
- 移除将您跳转回页面顶部的各种跳转菜单
- 删除仅用于布局的表格
模板覆盖
某些可访问性更改需要特定页面的模板覆盖。我已经完成了一些页面,并将继续添加更多。目前,我有文章管理器、文章编辑、推荐文章、网页链接管理器、网页链接编辑、登录和控制面板的覆盖。
已知问题
我编制了一个电子表格,列出了每个页面以及每个页面上剩余需要解决的问题。有些问题可以通过模板覆盖来解决。其他的需要核心的补丁。请参见下面相关链接中的链接。
下面是一个关于需要改进以使后端完全可访问的核心更改的摘要。
手风琴面板
我们可以通过键盘访问,但目前您需要在不了解自己位置的情况下,通过所有隐藏字段。一旦您弹出手风琴的标题,就可以进入打开该面板。屏幕阅读器现在应该可以正常工作,因为它们可以跳转到标题,但使用键盘的视觉用户将更难以操作。
光箱
文章管理器和类似屏幕上的选项图标需要改进。您需要通过整个阴影原始页面,然后才能到达包含选项的光箱。一旦到达,如果有多于一个选项卡,则选项卡界面是个问题,因为您无法使用键盘切换选项卡。
CMS中的硬编码样式
仍在追踪核心中硬编码的样式标签,这些样式需要具有更改的灵活性。例如,某些地方将内联样式编码为“红色”或“绿色”,表示有效或无效,但没有考虑到模板的背景颜色或这些颜色与背景的对比度。
硬编码的内联JavaScript
仍在追踪导致可访问性问题(如“onchange”)的内联JavaScript。在一种情况下,我在显示之前使用preg_replace提取JavaScript。
不可访问的JavaScript Mootools
与jQuery不同,似乎并没有太多努力将可访问性添加到后端使用的Mootools JavaScript框架中。理想情况下,可访问性应该内置于框架中,以便自然流动。
表单问题
这些问题大多数相对较小,可以通过良好的书写指南来解决。在某些情况下,应该使用文本而不是标签,或者应该使用标签而不是文本。还有几个地方似乎存在错误,标签链接和输入链接不匹配。还有一个问题是optgroup没有正确关闭。有些情况可以通过布局文件覆盖解决,但其他问题需要在核心中解决。
测试
已经进行了一些测试,但还需要进行更多测试。实际上,我将在今年秋天的课程中使用这个项目进行用户测试。看到结果将会很有趣。
项目的未来
我将继续在秋季继续从事这个项目,并将完成剩余的重写工作。我希望能够成立一个无障碍小组,持续处理这些问题。
结语
像所有其他学生一样,我感激在这个项目中从每个人那里得到的帮助,不仅包括我的导师Steve Fisher和TJ Baker,还包括Skype聊天和其他地方的无休止的问题。我真的很怀念那个Skype!
我将在我的博客上进一步分享我在这个夏天的经历、正在进行的工作以及Joomla和无障碍性,要么在这里,要么在我的网站www.tarrconsulting.com/blog上。这个博客已经太长,无法详细介绍除了项目本身以外的内容!
相关链接
joomlacode上的项目。你可以在这里下载扩展。我正在寻找愿意加入项目的人,所以请随意点击“申请加入”按钮。如果你想要提交bug或功能请求,这也是一个地方。
Joomla管理员后台的无障碍性分析。这是当前管理员中的无障碍性问题的一个Google文档表格。