qorf / quorum-language

The primary repository for the Quorum Programming Language
BSD 3-Clause "New" or "Revised" License
15 stars 6 forks source link

Handle focus and programmatic clicks in shadow DOM #1

Closed mwcampbell closed 2 years ago

mwcampbell commented 2 years ago
  1. WebAccessibility now sets the actual DOM focus to shadow elements, rather than setting aria-activedescendant on the canvas.
  2. The tabindex attribute is now actually set on shadow elements, but only for focusable Quorum items.
  3. WebInput and InputMonitor now test whether the DOM focus is in the canvas or one of its descendants, rather than just the canvas.
  4. WebInput now captures events, rather than letting them bubble up, to make sure it handles them before the browser default behavior runs, even when the focus is in a descendant of the canvas.
  5. WebInput now suppresses propagation and default behavior for mouse events, only if the mouse is inside the canvas.
  6. WebAccessibility now adds a focus event listener to focusable items, so it can set the Quorum focus when an AT programmatically focuses an element.
  7. Likewise, WebAccessibility now adds a click event listener on control elements, so it can call Activate on the Quorum control when an AT programmatically "clicks" the element.