1. 20 Oct, 2021 1 commit
    • Eitan Isaacson's avatar
      Fix speech generator for browser alerts. · 21d709ff
      Eitan Isaacson authored
      The description of the alert isn't used because the speech generator
      picks up the "usedDescriptionForName" flag that the braille generator
      set. The flag is not reset in the speech generator because the web
      speech generator doesn't call the super name generator where it would
      typically be reset.
      21d709ff
  2. 30 Sep, 2021 1 commit
  3. 20 Sep, 2021 2 commits
    • Joanmarie Diggs's avatar
      Don't fall back accessible name for displayed text in spin button · 30e2d362
      Joanmarie Diggs authored
      When getting the displayed text of something which claims to implement
      the accessible text interface but then doesn't, we fall back on the
      name. That doesn't make sense for a spin button in general. In addition,
      there seems to be a bug in Chrome/Chromium in which spin buttons which
      display text fail to expose that text via the text interface. Falling
      back on the name prevents other checks (e.g. valuetext property) from
      happening. So this change in Orca will work around that issue in
      Chrome/Chromium.
      30e2d362
    • Joanmarie Diggs's avatar
      Web: Handle caret-moved events preceding focus in spin buttons · b910e1a7
      Joanmarie Diggs authored
      Chrome (and possibly other browsers) emits caret-moved events prior to
      focus events with inputs. This can cause us to quietly set the focus
      and subsequently ignore the focus event. We were already handling that
      ordering for inputs exposed as entries. But inputs with a type of
      number get exposed as spin buttons. This commit fixes the issue for
      numeric inputs.
      b910e1a7
  4. 16 Sep, 2021 3 commits
  5. 14 Sep, 2021 1 commit
  6. 11 Sep, 2021 1 commit
  7. 05 Sep, 2021 1 commit
  8. 04 Sep, 2021 2 commits
  9. 03 Sep, 2021 2 commits
    • Joanmarie Diggs's avatar
      Web: Identify and work around mismatched text, hypertext implementations · cf482b38
      Joanmarie Diggs authored
      The value of hyperlink.startIndex should match the offset in the text
      implementation's character offset for the associated child object.
      When this fails, due to a bug in the browser implementation, we can
      get stuck/loop. Therefore, check for this mismatch, spew out plenty
      of debugging details, and try to recover by using the hyperlink's
      reported range instead of a character offset when we've gotten stuck
      on a line.
      cf482b38
    • Joanmarie Diggs's avatar
      Web: Fix issues related to ARIA tooltips · a6654e45
      Joanmarie Diggs authored
      If an ARIA tooltip claims to be focusable, we treat it as something
      presentable even if it has no size and no content. This leads to
      chattiness, and occasionally even setting the caret in, a useless
      object. The latter can trigger focus events, along with object
      creation and destruction that leads to looping within the content.
      Solve both problems by not allowing an empty tooltip to have the
      caret context.
      
      Also fix a traceback checking for the name of a recently-destroyed
      ARIA tooltip.
      a6654e45
  10. 30 Aug, 2021 2 commits
  11. 27 Aug, 2021 1 commit
  12. 26 Aug, 2021 3 commits
  13. 25 Aug, 2021 2 commits
  14. 24 Aug, 2021 2 commits
  15. 23 Aug, 2021 1 commit
  16. 12 Aug, 2021 2 commits
    • Joanmarie Diggs's avatar
      LibreOffice: Don't update locusOfFocus to dead object · 9063d742
      Joanmarie Diggs authored
      In LibreOffice, when we get a text-selection-changed event from an
      object which claims to be focused but is not the locusOfFocus, we
      update the locusOfFocus before passing the event onto the default
      script. We do this because LibreOffice isn't super reliable about
      emitting focus events, and the default script will ignore the event
      otherwise.
      
      Unfortunately, Calc is emitting text-selection-changed on a destroyed
      object which claims to be focused. Therefore, check if this object is
      dead and return early if it is.
      9063d742
    • Joanmarie Diggs's avatar
      LibreOffice: Work around missing focus event for Calc spreadsheet · a40593f3
      Joanmarie Diggs authored
      After saving a document and returning to the Calc spreadsheet, there
      is no object:state-changed:focused event for the table. As a result,
      AT-SPI2 does not update its cache and we're given active-descendant-
      changed events on an object which claims to be unfocused. Thus we
      ignore them.
      
      Therefore, check in the app script for this condition and clear the
      cache on the table before handing the event off to the default script.
      a40593f3
  17. 11 Aug, 2021 2 commits
  18. 12 Jul, 2021 3 commits
  19. 30 Jun, 2021 3 commits
  20. 28 Jun, 2021 4 commits
  21. 25 Jun, 2021 1 commit
    • Joanmarie Diggs's avatar
      Web: Apply removed-child recovery logic to live regions · 86572abf
      Joanmarie Diggs authored
      In order to be performant, onChildrenRemoved returns early when the event
      comes from a live region. However, if a user is navigating in live region
      content and lands on something which disappears, we still want to try and
      recovery rather than risk looping to the top of the page.
      86572abf