First, I believe (though I'm not an accessibility expert) that CellTable
needs only aria-activedescendant and aria-selected and everything else
is pure bloat.
DataGrid on the other hand would really benefit from WAI-ARIA, as it's
split into 3 HTML tables.

The problems with aria-selected (which this patch set doesn't add
support for) is that one should put aria-multiselectable too, but that's
not going to work as CellTable does not know how the SelectionModel
works.

Finally, please make your patches against 'trunk': CellTable has been
split in 2 to support DataGrid (in 2.4), builders have been added, as
well as an ARIA support API.



http://gwt-code-reviews.appspot.com/1661803/diff/1/user/src/com/google/gwt/user/cellview/client/CellTable.java
File user/src/com/google/gwt/user/cellview/client/CellTable.java
(right):

http://gwt-code-reviews.appspot.com/1661803/diff/1/user/src/com/google/gwt/user/cellview/client/CellTable.java#newcode325
user/src/com/google/gwt/user/cellview/client/CellTable.java:325:
@Template("<table role=\"grid\"
tabindex=\"-1\"><tbody>{0}</tbody></table>")
Should tables really be focusable?

http://gwt-code-reviews.appspot.com/1661803/diff/1/user/src/com/google/gwt/user/cellview/client/CellTable.java#newcode329
user/src/com/google/gwt/user/cellview/client/CellTable.java:329:
SafeHtml td(String classes, String headerId, SafeHtml contents);
I don't see the need for headers="" here, the HTML algorithms do that
very well already.
http://dev.w3.org/html5/spec/attributes-common-to-td-and-th-elements.html#header-and-data-cell-semantics

http://gwt-code-reviews.appspot.com/1661803/diff/1/user/src/com/google/gwt/user/cellview/client/CellTable.java#newcode1271
user/src/com/google/gwt/user/cellview/client/CellTable.java:1271:
td.removeAttribute("aria-selected");
That should be aria-activedescendant. aria-selected is for managing
selection, not focus.
See http://www.w3.org/TR/2010/WD-wai-aria-practices-20100916/#kbd_focus

http://gwt-code-reviews.appspot.com/1661803/diff/1/user/src/com/google/gwt/user/cellview/client/CellTable.java#newcode1532
user/src/com/google/gwt/user/cellview/client/CellTable.java:1532: String
headerRef = tableId +"_h_"+curColumn;
That won't work if you have colspan'd headers.

http://gwt-code-reviews.appspot.com/1661803/diff/1/user/src/com/google/gwt/user/cellview/client/CellTable.java#newcode1713
user/src/com/google/gwt/user/cellview/client/CellTable.java:1713: String
headerId = isFooter ? (tableId +"_hf_"+(curColumn-1)) : (tableId
+"_h_"+(curColumn-1));
The *_hf_* is never referenced, so totally useless.

http://gwt-code-reviews.appspot.com/1661803/

--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to