This looks good, other than the corner case for a leaf that used to be a parent.
http://gwt-code-reviews.appspot.com/1776803/diff/8001/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java File user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java (right): http://gwt-code-reviews.appspot.com/1776803/diff/8001/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java#newcode82 user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java:82: @Template("<div aria-selected=\"{3}\">" This is a nice way to do it; it will be very efficient. I wonder if we can set any other attributes in the template as well, instead of setting them later using updateAriaAttributes? http://gwt-code-reviews.appspot.com/1776803/diff/8001/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java#newcode149 user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java:149: String ariaSelected; Style nitpick: better to move this declaration as close as possible to its first use. In this case, about at line 159. http://gwt-code-reviews.appspot.com/1776803/diff/8001/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java#newcode1364 user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java:1364: Roles.getTreeitemRole().setAriaSetsizeProperty(getElement(), setSize); FYI: I suspect that in a lot of cases, there is no change to the aria attribute. If we could detect that and avoid setting the attribute again to the same value, that would be a performance win. But this seems okay for now. http://gwt-code-reviews.appspot.com/1776803/diff/8001/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java#newcode1370 user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java:1370: } Suppose it's a leaf but used to be a parent? (That is, all children were removed.) Maybe we should remove the expandedState attribute? http://gwt-code-reviews.appspot.com/1776803/diff/8001/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java#newcode1405 user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java:1405: } Suppose it's a leaf but used to be a parent? http://gwt-code-reviews.appspot.com/1776803/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
