Java Application Accessibility Awareness

skatechildrenΛογισμικό & κατασκευή λογ/κού

3 Νοε 2013 (πριν από 3 χρόνια και 8 μήνες)

76 εμφανίσεις

Java Application
Accessibility Awareness


Lawrence Najjar

2

Outline



Purpose



Definitions



Section 508



Screen Readers



Some Accessibility Requirements



Some Accessibility Suggestions



For Best Results Use



Testing



Accessibility at BMC



Accessibility Resources



Summary

3

Purpose



Improve Java application accessibility awareness


4

Definitions



Disability
--

F
unctional limitation in vision, hearing,
movement, manipulation (for example, fine movements
to use mouse), speech, and interpretation of information
(for example, dyslexia and other cognitive impairments)




Accessibility


Providing persons with disabilities
comparable access to and use of information and data as
persons without disabilities


5

Section 508



Section 508 of the Rehabilitation Act amendments of
1998
(
http://www.section508.gov/index.cfm?FuseAction=Content&ID=12#Web
)



For Federal purchases of information technology



Requires Federal employees and members of the public
with disabilities have access to and use of information
and data comparable to that of employees and members
of the public without disabilities



Is spreading beyond Federal government
(
http://www.gcn.com/vol1_no1/daily
-
updates/26304
-
1.html
)




6

Screen Readers












http://www.doit.wisc.edu/accessibility/video/intro_scrn_rdrs.mov

7

Some Accessibility Requirements



Provide keyboard
-
only access to all functions (example)


Provide keyboard mnemonics (ex. ALT
-
F for File menu) for menu bar
menus, frequently
-
used components, and all dialog window
components


Duplicate toolbar buttons in menu or provide keyboard access to toolbar


Use Swing keyboard bindings (ex. F6 to move between panes)
(
http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/doc
-
files/Key
-
Index.html
)


Provide functional keyboard equivalents for mouse functions

8

Example for “
Provide keyboard
-
only access
to all functions”

9

Some Java Accessibility Requirements
(Continued)



Don’t interfere with accessibility features (ex. inverse video,
sticky keys)



Show focus visually and programmatically (example)



Make all user interface elements (ex. icons) available via text



Use operating system to display textual info (ex. text, text input
carat, text attributes)



Do not override user
-
selected color, contrast, font size,
keyboard repeat rate, etc. (example)



Allow users to turn off animated info, but still get the info



Don’t use color as only way to convey information (example)



Don’t blink between 2 Hz and 55 Hz



Make forms accessible (ex. place prompt left of entry field)

10

Example for “
Show focus visually and
programmatically”

11

Example for “
Do not override user
-
selected
color, contrast, font size, etc.”

12

Example of “
Don’t use color as only way to
convey information”

Before







After



13

Some Accessibility Suggestions



Provide high contrast for text (example)



Use tab order that makes sense to users (example)



Don’t use unnecessary graphics (example)



Provide default focus on every window


Set a component to execute the java.awt.ComponentrequestFocus method



Describe icons and other functional graphics


Call the setIcon( ) method


Use the setDescription( ) class



Label all components


Implement the AccessibleName method on all objects


Implement the AccessibleDescription Method



Allow users to see visual version of audio alert


Enable Windows sound accessibility flashed title bar, window, or desktop;
can also flash status indicator on taskbar, etc,



Don’t use timed responses; if you must, allow users to extend the
time

14

Example for “
Provide high contrast for text”

Before








After



*Date (mm/dd/yyyy):

*Date (mm/dd/yyyy):

15

Example for “
Use tab order that makes sense
to users”

16

Example of “
Don’t use unnecessary graphics”

http://www.flamingtext.com/

17

For Best Results Use



Java 2



Java Foundation Classes “Swing” User Interface
Components



Java Accessibility Application Program Interface



Java Access Bridge for Windows 1.1
(
http://java.sun.com/products/accessbridge/
)



Don’t use applets (some assistive technology browsers
don’t support them); use Sun Web Start

18

Java Access Bridge










Communicates between assistive technology (ex. JAWS) and
native code of Java Access Bridge



Bridge for Java Accessibility API between Java virtual
machine and Windows



Uses two Windows Dynamic Link Libraries and one Java
language classfile


Note: Users need Java Access Bridge on their machines.

19

Testing



Use Java Accessibility Helper
(
http://java.sun.com/developer/earlyAccess/jaccesshelper/
)



Use application with only keyboard
(
http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/doc
-
files/Key
-
Index.html
)



Use JAWS screen reader
(
http://www.freedomscientific.com/fs_products/software_jaws.asp
)



Print screens on black & white printer



Use BMC accessibility checklist
(
http://cww/internal/ResearchAndDevelopment/Usability/attachments/SmartNumber_section508_asse
ssment.doc
)



Use IBM Java accessibility checklist
(
http://www
-
306.ibm.com/able/guidelines/java/accessjava.html
)

20

Accessibility at BMC


Accessibility program lead named (Chris Meier)


Accessibility consultant hired (The Paciello Group)



Reviewed SmartDBA and Metropolis



Delivered 20
-
minute
-
long Webinars



Will provide half
-
day Java accessibility training


Accessibility awareness program begun (CWW, Brown Bags)


Accessibility section added to BMC R&D Usability portal
(example)


Over 500 products evaluated using
BMC Section 508 Product
Assessment Form


Completed accessibility form now required for product’s
release to market process


Federal agencies now requiring information on when BMC
products will
conform

to Section 508


21

Accessibility in R&D Usability Portal

http://cww/portal/site/CWW/index.jsp?chid=69da4c9a711eaf00VgnVCMServerd30611acRCRD

22

Accessibility Resources



Andrews, M. Accessibility and the Swing Set [On
-
line]. Available:
http://java.sun.com/products/jfc/tsc/articles/accessibility/



BMC Accessibility Intranet site:
http://cww/portal/site/CWW/index.jsp?chid=bada4c9a711eaf00VgnVCMSer
verd30611acRCRD



Dunn, J. (2002, June 2). Developing accessible JFC applications [On
-
line].
Available:
http://www.sun.com/access/developers/developing
-
accessible
-
apps/



Feigenbaum, B. A. (2002, October 1). Coding for accessibility


Use
JFC/Swing to build accessibility into your Java applications [On
-
line].
Available:
http://www
-
106.ibm.com/developerworks/java/library/j
-
access/



IBM (2002). IBM Java accessibility checklist [On
-
line]. Available:
http://www
-
306.ibm.com/able/guidelines/java/accessjava.html




Schwerdtfeger, R. S. (2000, August 24). IBM’s guidelines for writing
accessible applications using 100% pure Java [On
-
line]. Available:
http://www
-
3.ibm.com/able/guidelines/java/snsjavag.html




Section 508 [On
-
line]. Available:
http://www.section508.gov/index.cfm?FuseAction=Content&ID=12#Web



Sun Microsystems (2003). Accessibility quick reference [On
-
line]. Available:
http://www.sun.com/access/ developers/access.quick.ref.html#apptips



Sun Microsystems. Swing component keystroke assignments [On
-
line].
Available:
http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/doc
-
files/Key
-
Index.html

23

Summary

For maximum accessibility:


Design in accessibility from the start


Verify accessibility with checklists, tools, and accessibility tests

24

Thank You

To get a copy of this presentation:


E
-
mail Lawrence Najjar


Or, go to the R&D Portal, Programs and Services, Usability and
Interface Design, Accessibility/Section 508, White Paper and
Presentations, Java Accessibility Awareness Brown Bag


To get accessibility services:


Contact Tony Haverda, manager, Interface Design and Usability