Transcript Testing

Moving Goalposts
Sam Rowley
Ray Reid
Learning Development and Innovation
Staffordshire University
Introduction.

Experiences of trying to make the COSE VLE
accessible:




Non-technical where possible:


Problems and some solutions;
Don’t have all the answers;
Advice to avoid the same problems.
See summary guidelines handout for nuts and
bolts.
Comments and suggestions welcomed.
The COSE VLE.


Originally JISC Technology Applications
Programme Project.
Developed since 1996:



Java 1.0;
Interface has evolved through several Java
versions.
Retrofit accessibility to the existing interface:

Not designed in from the start.
The COSE User Interface.
COSE Architecture 1.

Web Browser:




Division of responsibility:



Frameset,
Right - COSE Browser/Editor,
Left – content.
Content rendered by browser,
Content organized and invoked
by applet.
Other windows are launched
from the applet:



Management Tools,
Search Tools,
Basket.
COSE Architecture 2.


Client-server system.
Java client:



Need to make the
interface accessible;
Usability issues.
Perl server scripts:


Command-line interface,
text-only;
Dealt with by operating
system accessibility
features.
The Approach.

Identify Java accessibility information:






Language features;
Tools;
Guidelines.
Determine relevant guideline advice.
Implement relevant advice.
Test.
Identify Java Accessibility
Features and Tools 1.

Java Accessibility API:



Java Accessibility Utilities:



Built into Java Foundation Class (JFC) components;
Makes applet compatible with assistive technologies.
Used in assistive technology applications;
Come with inspection and testing tools.
Pluggable look and feel of the JFC components:


Swap look and feel - Braille, audio;
No need for separate assistive technology.
Identify Java Accessibility
Features and Tools 2.

Java Access Bridge To Native Code:

Bridge between Operating System and Java
Virtual Machine.
Identify Accessibility
Guidelines.







IBM Java accessibility checklist.
W3C Web Accessibility Initiative (WAI) guidelines.
Sun Java Tutorial.
Sun Developing Accessible JFC Applications article.
Sun What's New with Accessibility article.
Sun Java Look and Feel Design Guidelines books.
IMS Guidelines for Developing Accessible Learning
Applications.
Determine Relevant Advice 1.

IBM Java accessibility checklist:



Comprehensive;
Relevant to COSE:
 Keyboard access;
 Object information – names, descriptions, focus;
 Display – colour, inherit system settings;
 Documentation – accessible documents, document
accessibility features.
Not relevant to COSE:
 Sound and multimedia – audio alerts, audio and video
alternatives;
 Timing – timed responses, blinking text.
Determine Relevant Advice 2.

W3C Web Accessibility Initiative (WAI) guidelines:

Web Content Accessibility Guidelines:
 COSE does not create content;
Frames;
 Applets.
Authoring Tool Accessibility Guidelines:
 COSE does not author content.
User Agent Accessibility Guidelines:
 General advice covered in more specific terms in other
guidelines.



Determine Relevant Advice 3.

Sun Java Tutorial:


Sun Developing Accessible JFC Applications
article:


Short java-specific tips.
Good compliment to IBM checklist.
Sun What's New with Accessibility article:


Java Accessibility Utilities section;
Testing.
Determine Relevant Advice 4.

Sun Java Look and Feel Design Guidelines
books:



Small amount of accessibility information;
Books address usability which enhances
accessibility.
IMS Guidelines for Developing Accessible
Learning Applications:



General advice – not Java specific;
XML;
Communication and collaboration tools.
Implement Relevant
Guidelines.

Keyboard traversal:







Mnemonics,
Accelerators.
Accessible names.
Tooltips.
Accessible descriptions.
Label associations.
Unmodified JFC
components:


Focus traversal;
Accessibility API.
Testing.

Two branches of testing:


Guideline conformance:
 Use guidelines as a checklist to check that relevant advice
has been implemented.
 Ensure each accessibility field is filled in appropriately.
 Use Java Accessibility Helper to spot any gaps or
omissions. Use Ferret and Monkey to check problems at
runtime.
Usability testing (with an Assistive Technology):
 Get end-users to test the applet. People who use the AT
regularly.
 Review, correct and refine the interface based on the test
results and user comments.
Testing - Accessibility
Helper.

Download from Java
web site:


Checks:





http://java.sun.com.
Accessible names;
Accessible descriptions;
Keyboard traversal;
Focus.
Generates reports:

Highlights omissions.
Testing – Ferret.




Part of the Accessibility
Utilities.
Runs at the same time as
the applet.
Shows accessibility
information for the
component under the
mouse.
Use to pinpoint problems or
double check that a
component has accessibility
information.
Testing – Monkey.




Part of the Accessibility
Utilities.
Displays tree of
components and their
assistive equivalents.
More suited to assistive
technology developers.
Can be used to check
accessible information for
components but more likely
to use Ferret.
Testing – Assistive
Technology.



Developer testing with Assistive Technology
can be of some use.
Need testing by an expert to rule out
problems due to unfamiliarity with the
technology.
Expert testing of Standalone Content Objects
done so far:

First look at the interface.
Issues 1.

Security dialog:


Tooltip explosion:



Too many tooltips;
Interferes with usability.
Tooltip conflict:


Does not read out the
security dialog text.
Use tooltip or accessible
description but not both.
Behaviour varies with JAWS
version:

Not sure what behaviour to
expect.
Issues 2.

Internationalization:




Need to extract mnemonics
and accelerators to bundle;
Need to write code to
transform into key events;
Doesn’t seem to be
documented anywhere.
Focus:


Cannot give the applet
focus using the keyboard;
JAWS does not read
accessible names and
descriptions.
Issues 3.

Status bar is not a status
bar:


Key binding conflicts:


Does not read out status
messages.
Our copy and paste vs JFC
equivalent.
Colour and font
customization:

Does not inherit fonts and
colours:


Easy for Windows Look
and Feel only;
No facility for colour and
font choice.
Issues 4.

Guidelines cover how to add names and
descriptions but not what they should be:


Not enough context and orientation information:


Need to test to ascertain what works and what doesn’t by
testing.
Need more logical grouping of components in panels with
accessible names.
HTML page titles need to be short and simple:

Avoids screen reader reading out loads of text when applet
loads.
Summary Guidelines.



Some guidelines offer conflicting advice.
Advice is not in one place.
Some of the advice is not relevant when
developing with JFC components:


Get a lot of behaviour for free.
Produced guidelines as summary of current
relevant advice all in one place:


Use as a starting point;
Details in source guidelines and articles.
Conclusions 1.


Themes.
Moving goalposts:


Guidelines evolve;
Java evolves:


ATs evolve:


Accessible relation etc with 1.3.
Different behaviour with different versions of ATs.
Stay up to date:

Keep checking the online guidelines for up to date
information.
Conclusions 2.

Focus on usability and accessibility:



Can conform to accessibility guidelines without
being usable;
Every user benefits when an applet is designed
with usability in mind.
The proof is in the testing:



Test for usability;
Test with assistive technologies;
Test iteratively.
Conclusions 3.

Design with accessibility in mind:


Keep it simple:



Easier than trying to bolt on later.
Use clear and simple language;
Strive for simplicity in the user language.
Keep it consistent:


Avoid multiple objects with the same name;
Maintain a consistent meaning for icons
throughout the interface.
The Future.

Current COSE:



A lot more to do;
Focus issue is problematic.
COSE 3:




Being designed with accessibility in mind;
Simplicity;
Individual tools;
Application rather than applet?
References.

IBM Java accessibility checklist


W3C Web Accessibility Initiative (WAI) guidelines


http://www.sun.com/access/developers/developing-accessible-apps/.
Sun What's New with Accessibility


http://java.sun.com/docs/books/tutorial/uiswing/misc/access.html.
Sun Developing Accessible JFC Applications


http://www.w3.org/WAI/Resources/#gl.
Sun Java Tutorial:
Trail: Creating a GUI with JFC/Swing
Lesson: Using Other Swing Features
Section: How to Support Assistive Technologies


http://www-306.ibm.com/able/guidelines/java/accessjava.html.
http://java.sun.com/developer/technicalArticles/GUI/accessibility2/.
IMS Guidelines for Developing
Accessible Learning Applications

http://www.imsglobal.org/accessibility/accessiblevers/.
Thank You
Sam Rowley [email protected]
Ray Reid [email protected]