Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

soffice: Make status bar announcement work for dialogs, LO >= 24.2 #15592

Commits on Oct 6, 2023

  1. soffice: Make status bar announcement work for dialogs, LO >= 24.2

     ### Link to issue number:
    
    Fixes nvaccess#15591
    
     ### Summary of the issue:
    
    Commit 62536a9
    ("soffice: Implement methods for status bar announcement (nvaccess#14933)")
    added support for status bar announcement in LibreOffice by
    searching for it in the a11y tree. For performance reasons,
    only objects of specific roles are considered when traversing
    the tree. The DIALOG and OPTIONPANE roles, needed to find the status
    bar in Writer's "Edit Contour" dialog were not taken into
    account yet, so the status bar was not found and could
    therefore not be announced when pressing NVDA+End.
    
    In addition, the status bar object in dialogs like that one
    did not have the proper role in LibreOffice yet.
    
     ### Description of user facing changes
    
    Status bar announcement for LibreOffice using the NVDA+End keyboard
    shortcut now also works for dialogs and with the upcoming LibreOffice
    version 24.2.
    
     ### Description of development approach
    
    LibreOffice is adapted to expose the proper role for the status
    bar in dialogs like the one mentioned above:
    https://gerrit.libreoffice.org/c/core/+/157659
    
    The DIALOG and OPTIONPANE roles are now also considered
    by NVDA when traversing the a11y tree to find the status bar.
    
    In addition, the FRAME role is also taken into account,
    which is needed to support finding the status bar in
    the default application window with LibreOffice >= 24.2,
    see commit message of this LibreOffice change for more details:
    https://gerrit.libreoffice.org/c/core/+/157658
    
    Add a check whether the statusbar children have the
    'IAccessibleTextObject' member before accessing it.
    
     ### Testing strategy:
    
    1) Start LibreOffice Writer (current development version including
       https://gerrit.libreoffice.org/c/core/+/157659 )
    2) insert a Formula: "Insert" -> "OLE Object" -> "Formula Object", type any formula, e.g. "1+1=2"
    3) click outside of the formula then click the formula object again to focus it
    4) in Writer's menu, select "Format" -> "Wrap" -> "Edit Contour"
    5) Once the dialog shows up, press NVDA+End to announce the status bar
    
     ### Known issues with pull request:
    
    Requires https://gerrit.libreoffice.org/c/core/+/157659
    on LibreOffice side in addition for the announcement to
    actually work.
    
     ### Code Review Checklist:
    
    - [x] Documentation:
      - Change log entry
      - User Documentation
      - Developer / Technical Documentation
      - Context sensitive help for GUI changes
    - [x] Testing:
      - Unit tests
      - System (end to end) tests
      - Manual testing
    - [x] UX of all users considered:
      - Speech
      - Braille
      - Low Vision
      - Different web browsers
      - Localization in other languages / culture than English
    - [x] API is compatible with existing add-ons.
    - [x] Security precautions taken.
    michaelweghorn committed Oct 6, 2023
    Configuration menu
    Copy the full SHA
    6763873 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    205e193 View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2023

  1. fixup changes

    seanbudd committed Oct 9, 2023
    Configuration menu
    Copy the full SHA
    afa6de3 View commit details
    Browse the repository at this point in the history