Hi Isomporhic,
I want to report two issues related to accessibility. I am using SmartGWT 2.5 and IE9.
In the Screenreader.js JavaDoc you recommend to use Firefox in combination with JAWS or NVDA screen readers. Unfortunatelly almost all our customers are using Internet Explorer and have strict internal regulations which disallow any other browsers.
I want to report two issues which can be reproduced with IE9. Accessibility support for IE 9 is enabled in the Screenreader.js according to the two flags: ariaEnabled an liteAria. Due to these flags there is only limited support for IE 8, which is not good for us as almost all our customers are still using this browser version. Therefore we have already implemented some accessibility related functionality for IE 8 ourselves.
You should be able to reproduce the issues with the following sample code on IE 9:
1) No focus traversal with ListGrid
- Put the focus into the ListGrid
- Press tab to traverse focus to the first button
No traversal. The focus remains on the ListGrid.
It seems to be related to the new method putNativeFocusInRow in GridBody.
2) No initial ariaRole or ariaState is set to instances of Canvas
You can check the defined aria role of the buttons with the Web Accessibility Toolbar for IE.
It seems that no role is set for Canvas objects as it is entirely limited to Firefox in your code. See Canvas getTagStart():
Best regards,
Manuel
I want to report two issues related to accessibility. I am using SmartGWT 2.5 and IE9.
In the Screenreader.js JavaDoc you recommend to use Firefox in combination with JAWS or NVDA screen readers. Unfortunatelly almost all our customers are using Internet Explorer and have strict internal regulations which disallow any other browsers.
I want to report two issues which can be reproduced with IE9. Accessibility support for IE 9 is enabled in the Screenreader.js according to the two flags: ariaEnabled an liteAria. Due to these flags there is only limited support for IE 8, which is not good for us as almost all our customers are still using this browser version. Therefore we have already implemented some accessibility related functionality for IE 8 ourselves.
You should be able to reproduce the issues with the following sample code on IE 9:
Code:
public void onModuleLoad() { SC.setScreenReaderMode(true); Window window = new Window(); window.setAutoCenter(true); window.setSize("500", "400"); window.setOverflow(Overflow.VISIBLE); window.setIsModal(true); Canvas canvas = new Canvas(); final ListGrid countryGrid = new ListGrid(); countryGrid.setWidth(500); countryGrid.setHeight(224); countryGrid.setShowAllRecords(true); ListGridField nameField = new ListGridField("countryName", "Country"); countryGrid.setFields(nameField); countryGrid.setCanResizeFields(true); ListGridRecord[] result = new ListGridRecord[2]; result[0] = new ListGridRecord(); result[0].setAttribute("countryName", "England"); result[1] = new ListGridRecord(); result[1].setAttribute("countryName", "France"); countryGrid.setData(result); canvas.addChild(countryGrid); IButton hideCapital = new IButton("Hide"); hideCapital.setLeft(0); hideCapital.setTop(240); hideCapital.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { countryGrid.hideField("countryName"); } }); canvas.addChild(hideCapital); IButton showCapitals = new IButton("Show"); showCapitals.setLeft(120); showCapitals.setTop(240); showCapitals.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { countryGrid.showField("countryName"); } }); canvas.addChild(showCapitals); window.addChild(canvas); window.show(); }
- Put the focus into the ListGrid
- Press tab to traverse focus to the first button
No traversal. The focus remains on the ListGrid.
It seems to be related to the new method putNativeFocusInRow in GridBody.
2) No initial ariaRole or ariaState is set to instances of Canvas
You can check the defined aria role of the buttons with the Web Accessibility Toolbar for IE.
It seems that no role is set for Canvas objects as it is entirely limited to Firefox in your code. See Canvas getTagStart():
Code:
var isFF3 = isc.Browser.isMoz && isc.Browser.geckoVersion >= 20080529; // use two DIVs: an inner one to hold the content, and an outer one for clipping var output = isc.StringBuffer.concat( // the clipDiv "<div id='" , this._getClipDivDOMID(), "' eventProxy=" , eventProxy, (isFF3 && this.ariaRole ? " role='" + this.ariaRole + "'" : ""), (isFF3 && this.ariaState ? this.getAriaStateAttributes() : ""), (this.className ? " class='" + this.className + "'" : ""), focusString,
Best regards,
Manuel
Comment