We use the dhtmlxtree control in our web application. Currently we’re implementing support for accessibility standards (accessibility for disabled users). Specifically, we’re adding support for WAI-ARIA, the W3C’s new accessibility standards for dynamic web applications. This consists of adding markup (new tags and attributes) to the control’s markup. (ARIA is an extension to the HTML standard).
Are there any plans to add support for ARIA to the dhtmlxtree control any time soon? As far as I can see there isn’t any support for it yet.
Has anyone else had to extend this control to support ARIA? If so, can you provide me with pointers to examples?
currently we don’t plan to add support for ARIA.
If the JS widgets don’t support ARIA they won’t be accessible to people with disabilities. For one thing, that means products developed with DHTMLX cannot be used by U.S. Federal Government (see 508 regulations) and others. But it also means some users are locked out. The technology exists to rectify this. Other JS toolkits either support ARIA or are moving forward on support for these very reasons. Please reconsider for a future release.
What we’re doing is creating our own tree control that’s an extension to dhtmlXTree, using prototyping. We’re planning to override the functions that generate the control markup so that we can inject the ARIA attributes into the markup generated by dhtmlXTree’s own functions after they’ve done their magic. The trick is going to be to figure out where we need to add these attributes. I’ve just started on it and so far haven’t figured any of this out.
One other thing that is problematic for screen reader support is that little hidden text edit input control you get when you turn on keyboard navigation. It takes focus and the screen reader (JAWS is what we’re using) reports it to the user as an edit field, telling him he can type in text. I fixed that one by overriding the enableKeyboardNavigation() function to set the tabIndex on this text edit control to -1, removing it from the tab order. But I don’t know yet if this is safe or if it is going to introduce other problems.
If anyone else is dealing with this issue I’d love to hear what you’re doing. And what you tried that didn’t work.
I suggest joining the free-aria Google groups and asking there, or checking out the examples on codetalks.org.