• Nektarios Paisios's avatar
    Implemented a mechanism that can be used to describe what caused an accessibility event · 488275d5
    Nektarios Paisios authored
    Assistive software cannot readily distinguish between various
    user or page actions when it receives an accessibility event.
    For example, if a text change or a selection change event is
    raised, the AT will not know if the text changed because the
    user has typed something, if a script has written something
    to the page, or if the user has pasted something.
    This will affect the way that the AT might choose to
    verbalize the newly added text, including choosing
    not to verbalize the text at all.
    
    On the Mac, VoiceOver needs to be told the cause of
    selection change and text change events, AKA the event intents.
    On Windows, the AT currently relies on monitoring the
    keyboard in order to identify such intents.
    On Chrome OS, we currently rely on heuristics.
    
    This patch creates a new class, AXEventIntent, which describes the
    cause of an accessibility event, e.g. "cut to the end of word".
    Code in Blink should use instances of ScopedAXEventIntent to place
    information about which intents are active on the stack.
    This patch modifies the accessibility event dispatch mechanism
    to include all active intents with each event that is sent to
    the browser.
    
    Relnotes: N/A
    
    R=dmazzoni@chromium.org
    
    Change-Id: I547e1c8cd980c1ec7b3a265d085317aae27c86f2
    Bug: 989156
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2031047Reviewed-by: default avatarRobert Sesek <rsesek@chromium.org>
    Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
    Commit-Queue: Nektarios Paisios <nektar@chromium.org>
    Auto-Submit: Nektarios Paisios <nektar@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#762642}
    488275d5
BUILD.gn 10 KB