Skip Navigationtrace.wisc.edu HelpSearchBottom of Page

An accessible version of this table is available at http://trace.wisc.edu/world/java/compare2x.htm

Cooperative Java Compatibility Effort Table

The Trace Center has been reviewing documentation from the Microsoft and Sun web sites to understand their "current" strategies for making Java accessible. As part of this project, we have created a few tables to directly compare the data and methods supported by each company's interface and classes.

We are soliciting further review of the table contents for any and all suggestions, corrections, questions, etc.

We have written an initial set of recommendations that we will be revising and posting here in the near future. The goal is for both Microsoft and Sun to unify the access APIs or at least increase their compatibility for ease of development for developers.

The information from the tables have been gathered from the following web sites:

Microsoft: http://www.microsoft.com/enable/ and http://www.microsoft.com/java/download/dl_sdk2.htm

Sun http://www.sun.com/tech/access/ and http://developer.javasoft.com/developer/earlyAccess/index.html

Sun (mostly from Interface Accessible) Microsoft (mostly from Interface IUIAccessible)

public static final int DISP_E_MEMBERNOTFOUND; COM error that indicates the specified member was not found.

public static final int E_INVALIDARG; COM error that indicates an invalid argument.
public static final int E_NOTIMPL; COM error that indicates no implementation.
public static final int S_FALSE; COM error that indicates a false return value.
public static final int CHILDID_SELF; The identifier of the object itself.
from Interface Layout
public static final int POSITION_ABOVE Constant used to locate the object physically above the object passed in. public static final int NAVDIR_UP;
public static final int POSITION_BELOW public static final int NAVDIR_DOWN; Specifies that the navigation direction is down.
public static final int POSITION_LEFT public static final int NAVDIR_LEFT;
public static final int POSITION_RIGHT public static final int NAVDIR_RIGHT;
public static final int LOGICAL_NEXT public static final int NAVDIR_NEXT; Navigates to the next object.
public static final int LOGICAL_PREVIOUS public static final int NAVDIR_PREVIOUS;
public static final int LOGICAL_FIRST Constant used to locate the first logical object in the container. public static final int NAVDIR_FIRST; Navigates to the first object.
public static final int LOGICAL_LAST public static final int NAVDIR_LAST;
public static final int POSITION_FIRST Constant used to locate the first physical object in the Container
public static final int POSITION_LAST
from Interface Accessible
public static final int SELFLAG_NONE; Indicates no object is selected.
public abstract void requestFocus() public static final int SELFLAG_TAKEFOCUS; Indicates focus is transferred to the selected object.
public static final int SELFLAG_TAKESELECTION; Indicates the object is the only selected item in the container.
public static final int SELFLAG_EXTENDSELECTION; Indicates the object is added to an extended selection.
see addAccessibleSelection() public static final int SELFLAG_ADDSELECTION; Indicates the object is added to a multiple selection.
see removeAccessibleSelection() public static final int SELFLAG_REMOVESELECTION; Indicates the object is deselected.
public static final int SELFLAG_VALID;
from AccessibleRole
public static final String ALERT public static final int ROLE_SYSTEM_ALERT;
public static final int ROLE_SYSTEM_ANIMATION;
public static final String APPLICATION public static final int ROLE_SYSTEM_APPLICATION;
public static final String BORDER public static final int ROLE_SYSTEM_BORDER;
public static final int ROLE_SYSTEM_BUTTONDROPDOWN;
public static final int ROLE_SYSTEM_BUTTONDROPDOWNGRID;
public static final int ROLE_SYSTEM_BUTTONMENU;
public static final int ROLE_SYSTEM_CARET;
public static final int ROLE_SYSTEM_CELL;
public static final int ROLE_SYSTEM_CHART;
public static final String CHECKBOX public static final int ROLE_SYSTEM_CHECKBUTTON;
public static final String CHECKBOXMENUITEM public static final int ROLE_SYSTEM_CHECKBUTTON;
public static final String CHOICE
public static final int ROLE_SYSTEM_CLIENT;
public static final int ROLE_SYSTEM_CLOCK;
public static final String COLUMN public static final int ROLE_SYSTEM_COLUMN;
public static final String COLUMN_HEADER public static final int ROLE_SYSTEM_COLUMNHEADER;
public static final String COMBO_BOX public static final int ROLE_SYSTEM_COMBOBOX;
public static final String CURSOR public static final int ROLE_SYSTEM_CURSOR;
public static final int ROLE_SYSTEM_DIAGRAM;
public static final int ROLE_SYSTEM_DIAL;
public static final int ROLE_SYSTEM_DIALOG;
public static final String DOCUMENT public static final int ROLE_SYSTEM_DOCUMENT;
public static final int ROLE_SYSTEM_DROPLIST;
public static final int ROLE_SYSTEM_EQUATION;
public static final int ROLE_SYSTEM_GRIP;
public static final String GROUPING public static final int ROLE_SYSTEM_GROUPING;
public static final int ROLE_SYSTEM_HELPBALLOON;
public static final int ROLE_SYSTEM_HOTKEYFIELD;
public static final String IMAGE public static final int ROLE_SYSTEM_GRAPHIC;???
public static final String INDICATOR public static final int ROLE_SYSTEM_INDICATOR;
public static final int ROLE_SYSTEM_LINK;
public static final String LABEL public static final int ROLE_SYSTEM_STATICTEXT;
public static final String LIST public static final int ROLE_SYSTEM_LIST;
public static final String LIST_ITEM public static final int ROLE_SYSTEM_LISTITEM;
public static final String MENU public static final int ROLE_SYSTEM_MENUBAR; OR public static final int ROLE_SYSTEM_MENUPOPUP;
public static final String MENU_BAR public static final int ROLE_SYSTEM_MENUBAR;
public static final String MENU_ITEM public static final int ROLE_SYSTEM_MENUITEM;
public static final String POPUP_MENU public static final int ROLE_SYSTEM_MENUPOPUP;
public static final int ROLE_SYSTEM_OUTLINE;
public static final int ROLE_SYSTEM_OUTLINEITEM;
public static final String PAGE_TAB public static final int ROLE_SYSTEM_PAGETAB;
public static final String PAGE_TAB_LIST public static final int ROLE_SYSTEM_PAGETABLIST;
public static final String PANEL public static final int ROLE_SYSTEM_PANE;
public static final String PROGRESS_BAR public static final int ROLE_SYSTEM_PROGRESSBAR;
public static final int ROLE_SYSTEM_PROPERTYPAGE;
public static final String PUSH_BUTTON public static final int ROLE_SYSTEM_PUSHBUTTON;
public static final String RADIO_BUTTON public static final int ROLE_SYSTEM_RADIOBUTTON;
public static final String RADIO_BUTTON_MENU_ITEM public static final int ROLE_SYSTEM_RADIOBUTTON;
public static final String ROW public static final int ROLE_SYSTEM_ROW;
public static final String ROW_HEADER public static final int ROLE_SYSTEM_ROWHEADER;
public static final String SCROLL_BAR public static final int ROLE_SYSTEM_SCROLLBAR;
public static final String SEPARATOR public static final int ROLE_SYSTEM_SEPARATOR;
public static final String SLIDER public static final int ROLE_SYSTEM_SLIDER;
public static final int ROLE_SYSTEM_SOUND;
public static final int ROLE_SYSTEM_SPINBUTTON;
public static final String SPLIT_PANE
public static final int ROLE_SYSTEM_STATUSBAR;
public static final String TABLE public static final int ROLE_SYSTEM_TABLE;
public static final String TEXT public static final int ROLE_SYSTEM_TEXT;
public static final int ROLE_SYSTEM_TITLEBAR;
public static final String TOOL_BAR public static final int ROLE_SYSTEM_TOOLBAR;
public static final String TOOL_TIP public static final int ROLE_SYSTEM_TOOLTIP;
public static final String TREE
public static final String TREE_NODE
public static final String UNKNOWN
public static final int ROLE_SYSTEM_WHITESPACE;
public static final String WINDOW public static final int ROLE_SYSTEM_WINDOW;
from AccessibleState
public static final String ARMED
public static final int STATE_SYSTEM_ANIMATED;
public static final String BUSY public static final int STATE_SYSTEM_BUSY;
public static final String CHECKED public static final int STATE_SYSTEM_CHECKED;
public static final int STATE_SYSTEM_COLLAPSED;
public static final String DEFAULT public static final int STATE_SYSTEM_DEFAULT;
public static final String EDITABLE "NOT" STATE_SYSTEM_READONLY
public static final int STATE_SYSTEM_EXPANDED;
public static final int STATE_SYSTEM_EXTSELECTABLE;
public static final int STATE_SYSTEM_FLOATING;
public static final String FOCUSABLE public static final int STATE_SYSTEM_FOCUSABLE;
public static final String FOCUSED public static final int STATE_SYSTEM_FOCUSED;
public static final int STATE_SYSTEM_HOTTRACKED;
public static final String INVISIBLE public static final int STATE_SYSTEM_INVISIBLE;
public static final int STATE_SYSTEM_LINKED;
public static final int STATE_SYSTEM_MARQUEED;
public static final int STATE_SYSTEM_MIXED;
public static final int STATE_SYSTEM_MOVEABLE;
public static final String MULTISELECTABLE public static final int STATE_SYSTEM_MULTISELECTABLE;
public static final int STATE_SYSTEM_OFFSCREEN;
public static final String PRESSED public static final int STATE_SYSTEM_PRESSED;
public static final String READONLY public static final int STATE_SYSTEM_READONLY;
public static final String SELECTABLE public static final int STATE_SYSTEM_SELECTABLE;
public static final String SELECTED public static final int STATE_SYSTEM_SELECTED;
public static final int STATE_SYSTEM_SELFVOICING;
public static final int STATE_SYSTEM_SIZEABLE;
public static final int STATE_SYSTEM_TRAVERSED;
public static final String UNAVAILABLE public static final int STATE_SYSTEM_UNAVAILABLE;
from Interface Accessible
public abstract boolean doAccessibleAction(int i) public void doDefaultAction();
public abstract Rectangle getBounds() public Rectangle getBounds(Component comp);
public abstract void setBounds(Rectangle r) IUIComponent setBounds(Rectangle rect) or (int x, int y, int width, int height)
public abstract int getAccessibleActionCount()
public abstract String getAccessibleActionDescription(int i) Return a description of the nth action of the object. public String getDefaultAction(); Retrieves the default action for the object.
public abstract String getAccessibleDescription() Get the accessible description of this object. public String getDescription();
public abstract void setAccessibleDescription(String s)
public String getKeyboardShortcut();
public abstract AccessibleRole getAccessibleRole() public int getRoleCode();
public abstract AccessibleStateSet getAccessibleStateSet() public int getStateCode();
public abstract String getAccessibleValue() Get the value of this object as a String. public String getValueText(); Returns a string describing the object's function beyond information provided by getRoleCode, getStateCode and getName
from Interface Layout
public void setValueText(String value);
public abstract Component getFocusTraversable(Component comp, int direction) public Component navigate(Component comp, int direction, boolean keyable);
public abstract Component getFocusTraversable(int pos) public Component navigate(Component comp, int direction, boolean keyable);
public abstract Component locate(Component comp, int direction) public Component navigate(Component comp, int direction, boolean keyable); Returns component navigated to, or null. comp=from which to navigate, dir=see field vals IUIAccess, keyable=nonkeyable ignored, others not.
public abstract Component locate(int pos) Determine the first or last object in the Container. public Component navigate(Component comp, int direction, boolean keyable);
public abstract Component locate(Point p, int direction) public Component navigate(Component comp, int direction, boolean keyable);
from Interface Accessible
public abstract Accessible getNextAccessibleSibling() see navigate and NAVDIR_NEXT
public abstract Accessible getPreviousAccessibleSibling() see navigate and NAVDIR_PREVIOUS
public abstract Point getLocationOnScreen() component location on screen (from Interface IUIComponent) public Point getLocation()
public abstract Point getLocation() component location with respect to parent (from Interface IUIComponent) public Point getLocation(IUIComponent comp) (if specify null comp give location relative to the desktop)
public abstract void setLocation(Point p) (from Interface IUIComponent) public Point setLocation()
public abstract boolean contains(Point p) (from Interface IUIComponent) public boolean contains(Point point)
public abstract Accessible getAccessibleAt(Point p) (from Interface IUIComponent) public IUIComponent getComponent(int x, int y)
public abstract Accessible getAccessibleParent() Get the Accessible parent of this object. (from Interface IUIComponent) public IUIContainer getParent() all parents are accessible since they are all UIContainers which extends UIComponent which implements IUIAccessible
public abstract int getAccessibleChildrenCount() (from interface IUIContainer) public int getChildCount()
public abstract Accessible getAccessibleChild(int i) (from interface IUIContainer) public IUIComponent getChild(int index)
public abstract Locale getLocale() throws IllegalComponentStateException
public abstract void setLocale(Locale l)
public abstract void addAccessibleSelection(int i) Adds the nth selected item in the object to the object's selection. see setStateCode()
public abstract void removeAccessibleSelection(int i) see setStateCode()
public abstract void clearAccessibleSelection() see setStateCode()
public abstract int getAccessibleSelectionCount()
public abstract Accessible getAccessibleSelection(int i)
public abstract void selectAllAccessibleSelection()
public abstract String getAccessibleName() public String getHelp()
public abstract void setAccessibleName(String s)
public abstract void addFocusListener(FocusListener l) see IUIComponent
public abstract void removeFocusListener(FocusListener l) see IUIComponent
PLUS other methods found in component (addFocusListener, getBackground(), getCursor(), getFont()) see IUIComponent
public abstract AccessibleText getAccessibleText() Gets the AccessibleText interface for the component.
from Interface AccessibleText
public static final int CHARACTER
public static final int WORD
public static final int SENTENCE
public abstract AccessibleText getAccessibleText() Gets the AccessibleText interface for the component.
public abstract int getIndexAtPoint(Point p)
public abstract Rectangle getCharacterBounds(int i)
public abstract int getCharCount() Return the number of characters (valid indicies)
public abstract int getCaretPosition() Return the zero-based offset of the caret. Note: the to the right of the caret will have the same index value as the offset (the caret is between two characters).
public abstract Object getAtIndex(int chunk, int index) Return the object at a given index. Use instanceof() to determine whether this is a String (common), or either an Accessible, or an inaccessible Object.
public abstract Object getAfterIndex(int chunk, int Return the object after a given index. Use instanceof() to determine whether this is a String (common), or either an Accessible, or an inaccessible Object.
public abstract Object getBeforeIndex(int chunk, int index) Return the object before a given index. Use instanceof() to determine whether this is a String (common), or either an Accessible, or an inaccessible Object.
public abstract AttributeSet getCharacterAttribute(int i) Return the AttributeSet for a given character (at a given index)
public abstract int getSelectionStart()
public abstract int getSelectionEnd()
public abstract String getSelectedText()