快速业务通道

为可访问性编码: 用JFC/Swing将可访问性构建到您的Java应用 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
需要考虑更多的东西。例如,盲人如何 才能访问表中可视化格式的信息,或图标、树或者滚动列表呢?要使这类组件可访问,要 求您提供大量的文本形式的描述性信息。尽管这个任务可能很乏味,但它是迈向创建支持 可访问性应用程序必不可少的步骤。

为可访问性编码: 用JFC/Swing将可访问性构建到您的Java应用(2)

时间:2011-04-03 IBM Barry A. Feigenbaum

添加描述性信息

使您的应用程序对视力受损者可访问的第一步,是提供对将要接收焦点的组件的描述 。当用户或 AT 阅读器选择组件时(通常是通过键盘控制装置),则组件接收焦点。接收 焦点的组件对应用程序功能(而非其设计或布局)是不可或缺的。因此,打个比方说,包 含其它组件的 JPanel 本身不接收焦点,尽管其内部的个别组件可能将接收焦点。另一方 面,如果面板对信息进行了分组,有时则需要使该分组可访问。类似地,通过使用 setLabelFor(Component) 方法可将标签与其它组件相关联。

在 Swing 中,我们使用 javax.accessibility.Accessible 接口来提供关于应用程序 组件的描述性信息。所有 Swing 组件都实现 Accessible 接口,该接口只有一个方法 javax.accessibility.AccessibleContext getAccessibleContext() 。使用 getAccessibleContext() 方法,AT 阅读器可以访问所有它需要的信息来将组件的描述呈 现给用户,并且与该组件交互和使用该组件。

AccessibleContext()

setAccessibleName(String name) 设置与给定 Accessible 对象相关联的 name。通 常,只要组件接收到焦点,辅助阅读器就会提供这个名称。

setAccessibleDescription(String description) 设置与给定 Accessible 对象相关 联的 description。通常,当用户要求关于组件的更多详细信息时,辅助阅读器将提供这 个描述。

标准 Swing 组件通常都为 AccessibleName 和 AccessibleDescription 提供了缺省 值。例如, JLabel 或 JTextField 文本将被用作其缺省的可访问名称。同样,任何组件 的 ToolTip 将被用作其缺省的可访问描述。但是,我的经验表明,缺省值不能为给定组 件提供最佳名称或描述,因此我建议您显式地设置您的组件值。

要设置文本域值,您需要输入一些类似于清单 1 所示的代码:

清单 1. 设置文本域值

import javax.swing.*;    : JTextField streetField = new JTextField("<enter street>", 20); streetField.setName("streetField"); streetField.getAccessibleContext().     setAccessibleName("Street Entry Field"); streetField.getAccessibleContext().     setAccessibleDescription("Enter a street address"); streetField.setToolTip("Street Address");    : -- set any other desired characteristics --

类似地,要设置按钮的值,您可以输入清单 2 中所示的代码:

清单 2. 设置按钮的值

import javax.swing.*;    : JButton okButton = new JButton("OK"); okButton.setName("okButton"); okButton.getAccessibleContext().setAccessibleName("OK Button"); okButton.getAccessibleContext().setAccessibleDescription(     "Activate to commit changes and continue"); okButton.setToolTip("Commit changes"); okButton.setMnemonic((int)''O'');    : -- set any other desired characteristics --

可访问键盘导航

通常 Swing 允许用跳格(Tab)、反向跳格和箭头键进行键盘导航。遗憾的是,这个 系统难以实现并且很费时,因为它要求用户导航所有中间组件才能到达它需要的那个组件 。对于更有效的键盘导航,用户应该能够迅速地在

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号