Skip HelpSearchBottom of Page

Cooperative Java Compatibility Effort - Recommendations

Our recommendations are divided into two lists.

  1. The first list (numbers 1 through 8) are those with the highest priority and (should be) the most straightforward to implement.
  2. The second or "future" list (numbers 9 through 16) are items that need more thought, but definately represent holes in the current Java accessibility implementations that need to be investigated further.

We'd also like to see an "accessibility working group" relationship established between companies so that these types of issues get sorted out up front before divergent solutions are proposed and implemented.


High priority and straightforward:

  1. A common set of human-readable constants for Roles, States, Error results and Actions.
  2. A mechanism to label a group of objects. For example, three radio buttons might be grouped to represent, "pick a color." There needs to exist a way to label this grouping. Whether it is a getLabel() or getText() on the container, or ???? Perhaps an expansion on the GROUPING role that has been defined by both companies.
  3. Role and State information should be encapsulated in their own classes to allow for greater extensibility and flexibility. get methods for both classes should return strings, for the same reason.
  4. There are several naming discrepancies that exist between method and variable names between the two implementations (as can be seen by the side-by-side comparison chart). These should be resolved.
  5. Wherever a "set" method exists, there should be an accompanying "get" method, and vice versa. (Needed?? This is a requirement for beans...)
  6. Navigation information and functionality should exist in its own interface. This will allow for greater flexibility in support of alternative types of interfaces that might exist in the future.
  7. Set/get methods should exist for objects that have a range of values or states. ex: {(1-10), (Red, Green, Blue), etc.}
  8. Set/get methods should exist for objects that have multiple actions. ex: imagemaps, and media files (i.e. embedded shockwave).


  1. How to handle overlapping windows?
  2. How will context (defn: what actions are available at a time) affect role, state, default action, etc. of objects? Changes in context often make changes in the semantics of what is being presented. How will these changes be stored/presented in alternative displays.
  3. What new types of roles and states will need to be created to support auditory interfaces?
  4. International text support should be supported (direction and layout - read HTML 4.0 specs for interesting ideas)
  5. Text navigation that includes navigation between links, headers, other types of overview info (i.e. different size "chunks.")
  6. Support for "space" navigation (3D support).
  7. How can underlying semantics be represented without attaching semantics to visual objects? (i.e. currently, we have a one-to-one mapping between visual objects and their semantics which may not give the most accurate semantic picture of what is going on. We ought to be able to first determine the semantics then map visual and/or auditory objects to them.)
  8. Need to implement system wide Help.