Universal Menus and a research script

Hello,
Recently I wrote a LinkedIn article that describes how to make the universal application of ARIA Menus accessible
https://lnkd.in/bJWmDH2
Which uses all of the implementation details that we've been discussing in the APG calls as a proof of concept.

I've attached a page script that can be used to implement different types of triggering elements to see how they work when popup ARIA Menus are attached to them, which may be helpful for AT compatibility testing purposes.

The LinkedIn article includes various implementation examples, but a couple appear to expose some platform issues on iOS, tested using the latest iPhone6, that I wished to get James' opinion on in case I'm missing something in the markup.

The first is an ARIA Textbox, at
http://whatsock.com/tsg/Coding%20Arena/ARIA%20Menus/Variation%20Simulated%20Edit%20With%20Right%20Click/demo.htm
Which uses the contenteditable attribute to make a Div editable, plus all of the ARIA textbox attributes.

When I attempt to edit this using iOS by tapping it as with all edit fields, it shows the virtual keyboard, but typing into it with VoiceOver running just makes a bonking noise and nothing is typed into the field. Is there something special in the markup that needs to be done in order to get iOS to enter text into a contenteditable container?

The second is an ARIA Tree, at
http://whatsock.com/tsg/Coding%20Arena/ARIA%20Menus/Variation%20ARIA%20Tree%20With%20Right%20Click/demo.htm
Which includes dynamically displayed hamburger icons appended to the LI nodes within the tree to provide tappable menu triggering elements for touch screen support on smaller devices. This is seen after navigating into the leaf nodes of the tree. These icons are marked up as ARIA Buttons.

In order to ensure the proper reading order when swiping, these elements need to be inline with their related role=treeitem nodes.
However, on iOS, it appears that they are entirely omitted from the Accessibility Tree, making it appear from a VoiceOver perspective that they don't exist at all. This only appears to happen when they are inserted within the markup of the role=tree structure. Can you confirm this? Is this assessment correct, or is something else causing this?

All the best,
Bryan

Received on Sunday, 25 January 2015 19:45:26 UTC