4.5.3 (Feb 2007)

New features (Java)


Improved 508 compliance across all widgets
Numerous widgets have improved conformance to accessibility requirements and are now better understood by screen readers.

New Attribute: focusable
To improve 508 compliance a focusable attribute was exposed.  All components have a focusable attribute the default is true with the exception of labels.

New Attribute: accessibleName
All components have an accessibleName attribute now. This is meant to be used to provide the JAWS screen reader a means to offer developers additional means to provide users with special needs additional information about the status, or description, of a component.

Accessibility Support: Section 508 Compliance
To create an accessible nexaweb java platform project the accessibility jar, located in the dist/plugins folder of the installed platform location, needs to be added to <project>/WebContent/WEB-INF/client/plugins. Additionally, the nexaweb-client.xml file needs to have <ui-test>true</ui-test> set. The default is to have this set to false.

New features (Ajax)


 Implemented all changes from Apache XAP

Performance Enhacement: Compressed File Servlet
CompressedFileServlet is a tool that allows the user's browser to download a compressed version of any needed file from the server. This reduces download time, load time, and bandwidth usage. It works by checking to see if a requested file (see request example below) exists as a gzip file, and whether the user's browser can handle gzips. If both of these conditions are met, the gzip is returned to the user instead of the normal file. If the gzip does not exist or the browser does not support gzip, the normal file is returned instead.
 
The compressedFileServlet is enabled by default. To take advantage of it, prepend the absolute path with “CompressedFileServlet/”.
 
For example, to request xapcore.js through this servlet, change:
<script language="JavaScript" type="text/javascript" src="/nxAjax/lib/xapcore.js"></script>
to:
<script language="JavaScript" type="text/javascript" src="CompressedFileServlet/nxAjax/lib/xapcore.js"> </script>

 

Defects Resolved (Java Platform)

IdDescription
7251Documentation: docs need to have accessibility attributes added to all the components.
7341Problems running EasyTraderAjax project's help link
7377focusable attribute needs to be documented in schema.
7405textView: The screen reader doesn't always have an acurate cursor position when moving through the text with arrow keys.
7136comboBox: Screen reader doesn't notice the comboBox when tabbing through a java app.
7137Need to expose the "focusable" attribute on all components for accessibility.
7152slider: Screen reader will report an incorrect position for a slider when frequent large changes are made.
7153comboBox: mousing over a listItem in the comboBox pop-up doesn't trigger the screen reader to read the listItem highlighted.
7155table: screen reader doesn't read tables when focus is gained via tab key.
7236comboBox: Selecting a comboBox with the mouse doesn't trigger the screen reader to read.
7256textView: if the text in the textView is especially long the JAWS screen reader will just stop reading the text after a few sentences.
7290Screen reader doesn't re-read a component that has focus after an accessible attribute has changed.
7323Widgets with an onActiveGained event that has fired won't trigger the screen reader to read their text, or accessibleName attributes.
7328AccessKey of tab not being read when tab gains focus.
7330JAWS stopped reading the text attribute of a tab in a tabPane after moving between tabs.
7344textArea: After initiating the JAWS screen reader to read text in a textArea, quickly hitting the down arrow key to move ahead of the reader in the text, then stopping JAWS would cause the reader to read the wrong letters when moving the cursor through the text.
7351Null Pointer exception when switching between tabs of a tabbed pane.
7352Null Pointer exceptions being thrown when focusing an Accessible table containing no rows
7418AccessibleName of textfield incorrectly being read as text of textfield.
7151Table: Screen reader only reads the first cell in a table when singleRow is specified.
7138menuBar: menuBar is not selectable, or usable, with only key board use.
7176scrollPane: manipulating the scrollBar of a scrollPane doesn't trigger the screen reader to read off new position.
7211Label: For some components putting a label before the component doesn't trigger the reading of the label by the screen reader.
7231Screen reader doesn't inform a user about any disabled components.
7252textArea: a screen reader like JAWS doesn't read the text in the textArea.
7327comboBox: comboBox text attribute value doesn't get read by JAWS.

Defects Resolved (Ajax Platform)

IdDescription
XAP303Widgets: Table: Removing all rows when one is selected makes selecting a new row impossible.

Known issues (Java Platform)

IdDescription
7139slider: horizontal or vertical sliders are not modifiable via a keyboard.
7154radioButton: Screen reader is not picking up the checked state after the space bar is pressed in IE.
7156Window: can't modify, or access a window in a destopPane via the keyboard only.
7157window: the window's state isn't being read properly by the screen reader. Also affects dialog and messageDialog components.
7158scrollBar: scrollBar position is not modifiable via the keyboard.
7234Inconsistent reading by screen reader when changing focus between readable component, and non-readable component.
7250Removing an object that is focused doesn't transfer focus to anything else in the browser.
7338menuBar: accessibleName attribute not read when specified on a menuBar.
7375dialog: dialogs aren't read by JAWS screen reader.
7420textView: screen reader will read the text of a textField twice in Firefox only, if no accessibleName attribute is set.
7422textArea: with wrapped text the screen reader will read the first letter of the next line twice.
7366comboBox: Changing from the open to closed state doesn't get read by JAWS.
7367comboBox: JAWS doesn't read the comboBox in IE7 when focus is set via a mouse click.
7149Table: with row selection the screen reader will only read the cell in the first column.
7235comboBox: quickly opening, then closing the listbox in a comboBox, and shift-tab'ing won't trigger the screen reader on next tab.
7254High-lighting text in either a textArea of textView doesn't trigger the screen reader to read the text.
7326comboBox: tabbing from one open comboBox to one defined right after it doesn't trigger the screen reader to read the second comboBox.
7329Component not read by JAWS when focus is set at startup using "focused" attribute.
7336When initially focused, the selected text of a text field is also being read (in Firefox not IE).
7339table: With selection mode set to singleCell a couple of the needed JAWs hotkeys don't work.
7407textView: hitting the down arrow key just restarts the reader reading from the first line.

Special notes:

7149 Table: with row selection the screen reader will only read the cell in the first column.
When using selection=”singleRow” using the arrow keys to read the cells in the row won’t work.  Instead use of JAWS’ desktop application hot keys for maneuvering in a table will need to be employed. 

7254 High-lighting text in either a textArea of textView doesn't trigger the screen reader to read the text.
JAWS hot keys must be used instead.

7256 textView: if the text in the textView is especially long the JAWS screen reader will just stop reading the text after a few sentences.
The default behavior for both textAreas, and textViews are that upon focus the screen reader will not start reading until the down arrow is pressed, or a hot key sequence is pressed to start JAWS reading.

7151 Table:  Screen reader only reads the first cell in a table when singleRow is specified.
To choose a different cell for JAWS to read, JAWS hot keys for desktop applications for tables should be used.

7138 menuBar:  menuBar is not selectable, or usable, with only key board use. 
To access a menuBar when only a key board is available use of menu accessKeys must be used.

7176 scrollPane:  manipulating the scrollBar of a scrollPane doesn't trigger the screen reader to read off new position.
This is equivalent behavior with java swing applications.  Use of JAWS desktop application hot keys will need to be used to manipulate scroll position.

7211 Label:  For some components putting a label before the component doesn't trigger the reading of the label by the screen reader.
This is resolved by using the focusable=”true” attribute on the label.

7231 Screen reader doesn't inform a user about any disabled components.
This is consistant with java swing, and desktop applications.  Additional, measures from developers would need to be employed to allow an accessible user to know of any disabled components in the application.

7252 textArea:  a screen reader like JAWS doesn't read the text in the textArea.
The default behavior is for a screen reader to not start reading the text in a textArea, or textView until some command is issued to start JAWS reading.

7327 comboBox:  comboBox text attribute value doesn't get read by JAWS.
A comboBox’s text attribute value will not be read is it has an accessibleName attribte set.

7250 Removing a component that has focus won't transfer focus to anything else in the browser.
When progammatically removing focused components from the UI an additional step of setting focus to some other existing component in the application will be needed to continue keyboard only interaction with the application. This would be accomplished by setting the 'focused' attribute to "true" on some component in the application.

7338 menuBar: accessibleName attribute not read when specified on a menuBar.
This is equivalent behavior with swing applications. Users of accessible applications will need to know of specified accessKeys on the menus in the menuBar as the menuBar is not accessible by use of the 'tab' key, and a menuBar's accessibleName will not be read when focus is set to it either.