[Webkit-unassigned] [Bug 151657] New: AX: VoiceOver with Safari Bug: aria-activedescendant not respected when container has absolute position and child has flex display.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Nov 30 08:53:12 PST 2015


https://bugs.webkit.org/show_bug.cgi?id=151657

            Bug ID: 151657
           Summary: AX: VoiceOver with Safari Bug: aria-activedescendant
                    not respected when container has absolute position and
                    child has flex display.
    Classification: Unclassified
           Product: WebKit
           Version: Safari 9
          Hardware: iOS
               URL: https://jsbin.com/vafubucuyo/edit?output
                OS: iOS 9.0
            Status: NEW
          Severity: Major
          Priority: P2
         Component: Accessibility
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: wilson.louie at oracle.com
                CC: webkit-bug-importer at group.apple.com

Hi,

I'm writing to report an accessibility related bug that is reproducible in both iOS 8 and iOS 9 using VoiceOver with Safari: aria-activedescendant is not respected when a container element has absolute position and the child element has flex display property. The examples in this link demonstrate this bug: https://jsbin.com/vafubucuyo/edit?output

The link brings up a page with 6 cases, each with a button and an unordered list. The 6 cases differ only by the CSS applied to each. Clicking a button induces browser focus on the list below the button via javascript. Each list uses aria-activedescendant so that when browser focus is on the list, "logical focus" is on the first list item. That is, if you turn on VoiceOver, move cursor to 'Action' button, double tap, then the cursor should move to 'Eat' item. This works as expected in every case except the last one, where the VoiceOver cursor remains on the 'Action' button rather than moving to the first item. This last case differs from the other cases only in that the list is absolutely positioned and the list items have flex display properties.

Some important things to note:
    - This will be encountered often in the wild. "position: absolute with aria-activedescendant" is a very likely combination for UI widgets such as popup menu, and flex display is also becoming popular with wide browser support. Therefore, a common setup for a popup menu would be the container having position: absolute with aria-activedescendant, and the items having flex display.
    - This platform bug makes that common setup completely inaccesible. The VoiceOver cursor doesn't move to the Menu when it is launched, so VoiceOver users can't use it.
    - Many page authors will be unsuccessful in identifying a workaround (causing the page to remain inaccessible for VoiceOver users), as it takes quite a lot of debugging effort to narrow down what is triggering this platform issue, and the answer is completely non-obvious.
    - This is not an issue with other screen readers on touch devices, e.g. Android Talkback.

If possible, I would also like to request a bug number with URL so we can track it.

Thank you very much for your time and attention, and please feel free to contact me or Jim (CCed) if you have any additional questions or comments regarding this bug.

Sincerely,
Wilson

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20151130/24479b2b/attachment.html>


More information about the webkit-unassigned mailing list