自由 #0
为了每一个人,
真的吗?
实际上,我们可能失败了 10-20%
嗯,实际上是 100%...
Samuel Thibault <samuel.thibault@ens-lyon.org>,
Jean-Philippe Mengual
幻灯片可在 http://brl.thefreecat.org/ 上获取
1
http://liberte0.org/ liste@liberte0.org (法语/英语?)
Gnuplot
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
sin(x)
cos(x)
-1
-10
-5
0
5
10
色盲:8
% 男性,0.5% 女性
2
概要
● 无障碍简介
● 技术概述
● 问题实际上并非真正是技术性的
● 讨论
● 更多详细信息可在 LSM 视频中找到
● http://brl.thefreecat.org/ 上的链接
● 特别是 LSM 2010,“如何使应用程序
3
可访问?”
什么是可访问性?
又名 a11y
满足有特殊需求的人们的使用
● 盲人
● 认知(阅读障碍、注意力
● 低视力
障碍、记忆力等)
● 聋人
● 运动障碍(帕金森症等)
● 色盲
● 老年人
● 单手操作
请参阅无障碍 HOWTO
● 你
“障碍”取决于情况
4
并且不一定是永久的
硬件
● 盲文输入/输出
● 语音合成
● 操纵杆
– 基本上取代鼠标
● 按按钮
– 屏幕上的虚拟键盘
● 眼动追踪
● ...
5
不要只关注一种技术
即使对于给定的障碍
● 盲文并不完美
– 许多盲人无法阅读盲文
– 盲文设备非常昂贵(数千欧元)
● 语音合成也不完美
– 嘈杂的环境
– 对于拼写问题很麻烦
6
专用软件?
● 例如,edbrowse,一个面向盲人的编辑器/浏览器
● 通常是个坏主意!
– 只面向一种障碍
– 缺乏人力
● 例如,Web 浏览器
– javascript/flash/table/CSS 支持?
● 例如,办公套件
– MSOffice/OpenOffice 兼容性?
– 残疾人和非残疾人一起工作
● 最好使用相同的软件
7
➔ 最好使现有应用程序可访问
简述一下现状
● 文本模式通常非常容易访问
– 但不太适合初学者
● Gnome 非常容易访问
– 然而,Gnome 3 几乎是
从头开始重启
● 与 Windows 世界相比,我们已经晚了
– 我们在不到十年前开始
– 他们在几十年前就开始了
● 与苹果世界相比,我们仍处于石器时代
8
– 真正良好且集成的支持
概述
无障碍设备
屏幕阅读器
应用程序
无障碍
抽象表示
注册表
总线
可视化渲染
9
X 无障碍,AT-SPI
X 服务器
盲文,语音,...
像素图
Orca
pango
文本 AT-SPI
atk
gtk
(bonobo/dbus)
gedit
10
从技术上讲
● 许多应用程序在技术上已经
可访问
– 控制台
– GTK
– KDE4(“马上就来”)
– Acrobat Reader
● 很多都不可访问
– KDE3
– Xt
11
– 自绘(例如,xpdf)
实践中
● 许多技术上可访问的应用程序
实际上并非真正可用
– 可视化组织的控件混乱...
名字
Foo
姓氏
Bar
密码
baz
➔ 每个应用程序的屏幕阅读器“脚本”
12
不要试图使应用程序可访问,
只需制作可访问的应用程序
通常只是一个从一开始就
运用常识的问题
这不是不修复的理由
当然,你的现有应用程序,
只是会有点困难:)
13
开始讨论
提出一些议题
14
这一切都关乎自由 #0
“为任何目的运行程序的自由”
那么能够使用该程序呢?
● RMS 说 a11y 只是一个“期望的功能”。
– 真的只是“期望”吗?
● RMS 说“这是自由软件,你可以修改
它”(自由 #1)
– 不可能。
15
一个关于自由的问题
“为任何目的运行程序的自由”
那么能够使用该程序呢?
● #0 只是法律自由吗?
● #0 只是技术自由吗?
● #0 更像是关于人们的自由吗?
30 年的 GNU 几乎给了我们法律上的
和技术上的自由,那么在接下来的
16
十年里,关注一下人怎么样?
为什么无障碍如此困难?
● Vint Cerf 在 ACM 通讯中问道
2012 年 11 月
“为什么无障碍如此困难?”
问题实际上大多不是技术性的
17
一个关于优先级的问题
● 应该被优先考虑
– 就像国际化一样
– GNU 编码中的“应该”或“必须”
标准?
– 根据融入 GNU 的程度进行评估
项目?
– …
18
一个关于谁来做的问题
● 只涉及一小部分人口
– 使用计算机已经很困难了...
– 几乎没有人既有残疾又有
编程技巧
– 几乎没有人既有意识又有
编程技巧
→ “这是自由软件,你可以修改它”
行不通。
● 必须集成支持
– 在维护者自己之间分配
19
– 不是由小型的 a11y 社区承担
使应用程序
可访问?
● 需求非常多样化
● 通用屏幕阅读界面
– 已经由诸如 gtk 之类的工具包支持
– 需要逻辑构建的应用程序
● 不要使应用程序可访问,
制作可访问的应用程序
– 从一开始!
● 通常最终使每个人受益
– 更好的整体设计
20
– 对所有用户更好:颜色、对比度、标签等...
“无障碍的
无障碍”...
“如何制作可访问的应用程序?”
● 从很少到很多人的沟通
● 只是文档?
– 已经存在一个 HOWTO,但大多不为人知
● 会议上的演讲?
● 融入标准程序?
● 测试?
– 实际上不需要硬件
– 可能只是部分的,但仍然是一个非常好的开始 21
开发人员/用户
沟通问题
● 你们都知道
● 当残疾出现时,甚至更加困难
发挥作用...
● 甚至不知道/不理解他们应该
“看到”什么
● 耐心,讨论,寻找中间人,...?
22
圣杯:无障碍
无处不在
● 在图书馆、机场、
大学练习室等使用电脑。
– 首先要求管理员安装并配置
软件?!
→ 默认安装,随时可用
– 需要非常紧密的集成
– 例如,Debian 安装程序中的支持
23
该做什么?
● accessibility@gnu.org 邮件列表
● 很快就消失了
● 重振?
● 提高意识?
● 记录?
● 集成?
24
讨论
● 无障碍无处不在,未来十年的目标?
● 一个关于优先级的问题
● 通常最终使每个人受益
● 一个关于谁来做的问题
● 制作可访问的应用程序?
● 无障碍的无障碍...
● 开发人员/用户沟通问题
● 一个关于自由 #0 的问题
25
● 该做什么?
备份幻灯片
26
Linux 控制台无障碍
27
文本应用程序
● 通常对于盲文输出效果非常好
● 始终提供图形的等效物
应用程序,例如,基于相同的共享库
– 也对通过 ssh 的服务器有用!
● 屏幕阅读器的默认输出是
光标所在的位置
– 与 shell、编辑器等配合良好
– 与半图形化
应用程序配合不太好
➔ 将光标放在
适当的位置!
28
– 即使不可见,例如 mutt、aumix
图形应用程序
● 首先在设计应用程序时不要考虑 GUI
– 逻辑顺序,就像 CSS 一样 ☺
● 使用标准控件
– 例如,带标签的文本字段
– 避免自制控件,否则为它们自己实现 atk
你自己
– 始终为
视觉内容提供替代文本内容
● 保持简单!
– 不仅是为了使屏幕阅读更容易,也是为了 29
使所有用户的生活更轻松!
也
一些陷阱和建议
(来自无障碍 howto)
● 不应该必须使用鼠标进行任何操作
● 注意对比度,可配置的颜色
● 避免基于时间的操作,或者使其
可配置
● 没有 2D 组织,逻辑组织
● 保持简单明了
● ...
30
关于错误
● 考虑用户的建议
– 例如,文本 Web 浏览器中的带括号的链接
● 对残疾人要有耐心
– 他们使用你的软件并不容易
– 他们更难解释他们的
以一种可理解的方式表达问题
● 例如,“盲文不跟随”
➔ 讨论!
31
关于错误(2)
● 尽量记住他们的残疾和他们的
后果
– 是的,盲人不在乎帧缓冲是否
显示正常!
● 你甚至可以联系你当地的机构
为残疾人服务,直接与用户讨论
32
自己测试!(文本模式)
Brltty + gnome-terminal
● 请参阅 http://brl.thefreecat.org 上的文档
33
自己测试!(GUI)
Accerciser
● 检查
控件树
看起来
合理且完整
完整
34
结论
● 无障碍性是许多人关心的问题
– 10% 的人有主要担忧
– 20% 的人有次要担忧
● 处理它通常归结为常识
常识
● 它经常实际上也有助于其他用户
● 但我们需要提高对此的认识
35
文档大纲