Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-135096

Wasm Accessibility: Determine Event Flow

    XMLWordPrintable

Details

    • Task
    • Resolution: Unresolved
    • P2: Important
    • None
    • None
    • None
    • WebAssembly

    Description

      Activating the accessibility backend adds additional html elements and may require altering the event flow.

      • Normally, the window element takes focus, is contenteditable, and handles events (keyboard, pointer)
      • When the accessibility backend is active we most likely want to make the individual a11y elements take focus. This will make the browser target events for them, instead of the window element.
      • (the canvas is hidden from the screen reader by setting aria-hidden, and does not take focus or handle events)

      Requirements

      • The QWindow must see input events as usual, and must be given the opportunity accept or reject the event.
      • Clipboard operations should work as before
      • Pressing the tab key should move focus according to the Qt focus rules; focus changes should be reflected to the a11y elements
      • Screen reader focus changes should be reflected on the Qt side
      • The window html element should not be contenteditable, since the screen reader will then think it is a text input field.
      • QWasmInputContext should be integrated with the a11y event flow and focus handling
      • Don't break event handling for foreign windows (the fromWinId() use case)

      Implementation Ideas

      • Use event capturing and bubbling phases to intercept events. The window element can then see and intercept the event before or after the a11y element processes the event.
      • Install event handlers on the a11y elements and manually forward to the window element.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              qt.webassembly qt.webassembly
              sorvig Morten Sørvig
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes