1. 26 Feb, 2021 3 commits
    • Jiri Grönroos's avatar
      Update Finnish translation · 7be3e3a2
      Jiri Grönroos authored
      7be3e3a2
    • Joanmarie Diggs's avatar
      Handle massively-delayed selection-changed events for apps like Caja · 4ec07c01
      Joanmarie Diggs authored
      Normally when a user copies and pastes a file/folder in a file manager,
      we get a selection-changed event from the container of the just-pasted
      item and want to update our location. But when copying and pasting a
      large number of items in Caja, we are placed in a new window for the
      progress and eventually get the aforementioned selection-changed event.
      Therefore, be sure the container is in the active window before updating
      our location.
      4ec07c01
    • Joanmarie Diggs's avatar
      Flat review: Clear cache when filler reports 0 children · bba896a4
      Joanmarie Diggs authored
      It's extremely rare that a filler would have 0 children. If it claims
      to have 0, that suggests the app/toolkit is failing to emit children-
      changed:add events. Clearing the cache can sometimes work around this
      problem, but it is not 100% reliable and can require multiple attempts.
      bba896a4
  2. 24 Feb, 2021 1 commit
  3. 23 Feb, 2021 1 commit
  4. 22 Feb, 2021 4 commits
    • Joanmarie Diggs's avatar
      Post-release version bump · 8906cefd
      Joanmarie Diggs authored
      8906cefd
    • Joanmarie Diggs's avatar
      Release prep · 9ab94320
      Joanmarie Diggs authored
      9ab94320
    • Joanmarie Diggs's avatar
      Web: Prevent getting stuck/looping in offscreen single-char-lines text · 5b039cef
      Joanmarie Diggs authored
      When we search for the first valid caret position at/after a specified
      offset, we typically descend the element if the character at offset is
      an embedded object character. In the case of offscreen text which is
      exposed to us as one character per line, this can lead to getting stuck
      or looping because we always return a range of 0:length for the broken
      element.
      5b039cef
    • Joanmarie Diggs's avatar
      Web: Handle yet more off-screen text-interface brokenness · ff35bd73
      Joanmarie Diggs authored
      It turns out that we sometimes get non-broken text when the off-screen
      text at offset happens to be a space, but for all other offsets we
      get just a single-character per line. Therefore also ignore spaces
      when doing the sanity check. Ditto for the replacement character. We
      can see the latter in some implementations when we use getText() for
      a length of one at the offset of a multibyte character. In theory,
      we should instead call getTextAtOffset() asking for a character. But
      due to other bugs in (at least) Gecko, that is even less reliable.
      ff35bd73
  5. 20 Feb, 2021 2 commits
  6. 19 Feb, 2021 2 commits
    • Joanmarie Diggs's avatar
      Web: Treat fewer roles as "whole"/non-descendable in browse mode · 0cc0ffa3
      Joanmarie Diggs authored
      Authors are using ARIA to mark things up as GUI components (menus,
      toolbars, etc.). But then they are not providing any associated
      navigation. As a result, the user has to know to switch to native
      browser navigation (e.g. Tab) to access the descendant items.
      Users who don't realize this can wind up skipping over items.
      Therefore make the following roles always descendable in browse
      mode:
      
      * Menu
      * Menu Bar
      * Tool Bar
      * Tree
      * Tree Table
      0cc0ffa3
    • Joanmarie Diggs's avatar
      Web: Improve logic identifying text brokenness due to it being off-screen · a129be1a
      Joanmarie Diggs authored
      When authors hide text just for screen-reader users to find, it is
      often exposed to us via the accessible text interface as if there were
      only one character per line. We have logic to check for this case, but
      it wasn't catching things like:
      
      * our getting a valid line when the first character is an embedded
        object, but subsequent characters are not
      * our getting a character along with a space (two characters are
        not a single character)
      
      Therefore add handling to ignore results when the character at offset
      is embedded object, and strip whitespace before examining the supposed
      line at offset.
      a129be1a
  7. 18 Feb, 2021 3 commits
  8. 17 Feb, 2021 4 commits
    • Joanmarie Diggs's avatar
      Web: Treat pre elements as plain text for broken text recovery · cc66e8aa
      Joanmarie Diggs authored
      For some browsers (currently just Gecko-based ones), we sanity-check
      all results we get from the AtkText implementations because there are
      many bogus results. Sometimes, however, we get zero-length text at
      offset results which are valid. This happens in plain-text documents.
      Turns out it can also happen in preformatted-text elements. In these
      instances, other AtkText bugs (e.g. bogus text-range extents) can
      prevent our hack around from obtaining the right text range for the
      specified offset and we wind up treating all the text as if it were
      on a single line. Treating preformatted-text elements as plain text
      causes us to not attempt broken text recovery when we shouldn't.
      cc66e8aa
    • Joanmarie Diggs's avatar
      Web: Don't collapse newlines from a single text object into one line · d0c1fc17
      Joanmarie Diggs authored
      Given a plain text file viewed in a browser or browser-based email
      application, we were collapsing a series of newlines into a single
      newline in browse mode. This results in a different presentation
      than one gets in plain text editors such as Gedit, so stop doing
      this.
      d0c1fc17
    • Joanmarie Diggs's avatar
      Web: Respect speakBlankLines setting · 0b92709a
      Joanmarie Diggs authored
      This setting controls whether or not Orca says "blank" when arrowing
      to an empty line (not whether or not blank lines are skipped in browse
      mode). We weren't respecting this setting in the Web speech generator,
      and speaking "blank" for each empty line.
      0b92709a
    • Charles Monzat's avatar
      Update French translation · 99411ebe
      Charles Monzat authored
      99411ebe
  9. 16 Feb, 2021 2 commits
  10. 14 Feb, 2021 1 commit
  11. 10 Feb, 2021 1 commit
    • Joanmarie Diggs's avatar
      Chromium: Fix chattiness arrowing up/down in omnibox popup · e46f07e8
      Joanmarie Diggs authored
      We were resetting the locusOfFocus in response to caret-moved events
      received with each selection change. These events should be ignored
      when arrowing up/down in the popup for a single-line autocomplete.
      
      This change is being made in the web script rather than the Chromium-
      specific support because this condition could happen in Firefox too.
      e46f07e8
  12. 09 Feb, 2021 1 commit
    • Joanmarie Diggs's avatar
      Chromium: Fix bogus presentation of posinset and setsize · e5e57181
      Joanmarie Diggs authored
      Chromium has accessible menu items which are not focusable and therefore
      do not have a posinset and setsize calculated. But they may claim to be
      the selected item when an accessible child is selected (e.g. "zoom" when
      "+" or "-" gains focus. Normally we calculate posinset and setsize when
      the application hasn't provided it. We don't want to do that in the case
      of menu items like "zoom" because our result will not jibe with the
      values of its siblings. Thus if a sibling has a value, assume that the
      missing attributes are missing on purpose.
      e5e57181
  13. 08 Feb, 2021 2 commits
  14. 03 Feb, 2021 2 commits
    • Joanmarie Diggs's avatar
      Chromium: Work around bogus/misleading selected state in browser menus · 7751cb7a
      Joanmarie Diggs authored
      Once one arrows past zoom-related or edit-related items in the three-dot
      menu, zoom and edit each claim to be selected. Because AtkSelection does
      not report the selected children for this menu, we resort to examining
      all children to find those with state-selected and wind up with two:
      the real selected child and zoom or edit. All this needs to be fixed in
      Chromium, but it appears that catching this condition and sanity-checking
      items by also examining the focused state is a safe workaround in the
      meantime.
      7751cb7a
    • Joanmarie Diggs's avatar
      Web: Handle caret-moved event preceding focus event when Tab pressed in entry · 180f03dd
      Joanmarie Diggs authored
      Chrome/Chromium appears to be emitting a caret-moved event before the
      focus event the first time a new input/entry gains focus as a result
      of tabbing into it. When this occurs, we update the locusOfFocus but
      wind up presenting nothing because tabbing into editable text is not
      a case handled by the default script.
      
      In this particular case, we know that we will be getting a focus
      event from the browser (and if we don't, we need that fixed in the
      browser). So it's safe to ignore this initial caret-moved event and
      wait for the focus event to do the presentation.
      180f03dd
  15. 02 Feb, 2021 1 commit
  16. 01 Feb, 2021 4 commits
  17. 31 Jan, 2021 1 commit
  18. 30 Jan, 2021 1 commit
  19. 29 Jan, 2021 1 commit
  20. 28 Jan, 2021 3 commits