You need a screen reader for hearing this buggy behavior. Switch the screen reader on. Open a new Writer document. Start Tools → AutoText. Now switch through the whole dialog by typing Tab or by moving an d marking something with the mouse. No information about any field and button is there for the screen reader. It only says "Tab", "Tab", "Tab" ... The dialog is completely unusable for people, who can't work without screen reader. Tested here with OpenSUSE 15.1 64bit rpm Linux, Orca screen reader and LO 6.4.4.2.
This seems to be a special problem of Version: 6.4.4.2 Build-ID: 3d775be2011f3886db32dfd395a6a6d1ca2630ff CPU-Threads: 6; BS: Linux 4.12; UI-Render: Standard; VCL: kf5; Gebietsschema: de-DE (de_DE.UTF-8); UI-Sprache: de-DE Calc: threaded If I change VCL: kf5; to VCL: gtk3; The screen reader works without any problem here. With VCL: gtk2; the screen reader says nothing in LO ...
Confirmed, see also bug 122053 for some more information.
Dear Robert Großkopf, To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year. There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present. If you have time, please do the following: Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/ If the bug is present, please leave a comment that includes the information from Help - About LibreOffice. If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice. Please DO NOT Update the version field Reply via email (please reply directly on the bug tracker) Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case) If you want to do more to help you can test to see if your issue is a REGRESSION. To do so: 1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from https://downloadarchive.documentfoundation.org/libreoffice/old/ 2. Test your bug 3. Leave a comment with your results. 4a. If the bug was present with 3.3 - set version to 'inherited from OOo'; 4b. If the bug was not present in 3.3 - add 'regression' to keyword Feel free to come ask questions or to say hello in our QA chat: https://web.libera.chat/?settings=#libreoffice-qa Thank you for helping us make LibreOffice even better for everyone! Warm Regards, QA Team MassPing-UntouchedBug
Same buggy behavior with LO 7.4.0.2 and VCL: kf5 on OpenSUSE 15.3 64bit rpm Linux.
qt5/qt6/kf5 are still not usable with a screen reader as of now, but some work on a11y of the Qt-based VCL plugins has been done (and is going on), s. e.g. the commits below. (I also have a WIP branch where Orca *sometimes" speaks with the qt6 VCL plugin.) Making this work properly also requires changes to the Qt library and Orca. Since the corresponding Qt changes will only be in Qt 6, not Qt 5, I'm moving this from the kf5 to the qt6 meta bug. Related Orca commits: 75c433b3d Don't use text offset of 1 for empty text d348621b9 Consider alerts as dialogs in 'frameAndDialog' Related qtbase commits: 5145d3899d a11y atspi: Support AT-SPI table cell interface f350956548 a11y atspi: Forward change of focused state e97b9ddcb0 a11y atspi: Drop unused forward-declaration QSpiAccessibleInterface ee35afc117 a11y atspi: Drop 'if (0)' branch 7594e8ca4d a11y atspi: Send D-Bus reply for "GetCaption" in expected format a32a3aa388 a11y atspi: Add support for ATSPI_COORD_TYPE_PARENT fa0e24b641 a11y atspi: translate coords for GetOffsetAtPoint the right way 49c966bc85 a11y atspi: Take dialog into account as top-level window d40dacf5f4 a11y atspi: Fix incorrect use of x instead of y position Some LO Commits: 04af1b4e1ce5 qt a11y: Drop duplicate nullptr check f2371a7d9b30 qt a11y: Clear QtXAccessible's ref to XAccessible once passed on a65719ec6752 qt a11y: Clear XAccessible reference when disposing 48baddac8f17 qt a11y: Drop QtAccessibleEventListener's XAccessible reference a3f3453c00f7 qt a11y: Implement QtAccessibleWidget::indexOfChild f29e3dbe0155 qt a11y: Replace dynamic_cast with static_cast 2de74491a5a7 qt a11y: Use correct coord system in QtAccessibleWidget::childAt 38289a8abed7 qt a11y: Implement QtAccessibleWidget::text{After,Before}Offset 69ecff82d0e5 qt a11y: Check range for offset passed to text methods 892bd0dfc1b1 qt a11y: Return actual range of text with same attributes 3cf7b358799d qt a11y: Implement QtAccessibleWidget::offsetAtPoint 12f96c3d0f61 qt a11y: implement QtAccessibleWidget::{row,column}HeaderCells c03a262c477b qt a11y: Implement QtAccessibleWidget::selectedCell{s,Count} 7f5cab0cf4aa qt a11y: Map BUTTON_{DROPDOWN,MENU} to Qt equivalents ba31e1bfdbcb qt a11y: Map AccessibleRole::FILE_CHOOSER dcefd68f6df3 qt a11y: Drop extra empty lines in switch/case 0b15b7f589b1 qt a11y: Drop obsolete and misleading comment 99640693d28c qt a11y: Implement QtAccessibleWidget::window 2690b0079c16 qt a11y: Consider QObject hierarchy to find parent 35be93f83ac8 qt a11y: Implement QtAccessibleWidget::characterRect e4066a41406b qt a11y: Implement QtAccessibleWidget::table 3a9d36d49d1f qt a11y: Only return actually supported a11y interfaces 1a8132515bab tdf#149816 qt a11y: Report position in screen coordinates 85c564285036 qt a11y: Handle special value of -1 for text offset 8c3e8af0e608 qt a11y: Forward STATE_CHANGED event as such 9ee8b709594d qt a11y: Handle TABLE_MODEL_CHANGED event 6ec960fe0be9 qt a11y: Handle HYPERTEXT_CHANGED event ab925e1d8d92 qt a11y: Handle VALUE_CHANGED event fe9206b47446 qt a11y: Better handle TEXT_CHANGED event dc6eb44e625c qt a11y: Map CARET_CHANGED event to Qt equivalent 91798635258c qt5 a11y: Implement Qt5AccessibleWidget::is{Column,Row}Selected 6735a37747a3 qt5 a11y: Implement QAccessibleTableCellInterface 0ae1c36f319b qt5 a11y: Drop Qt5AccessibleWidget::{text,value}Interface f62cbfed5509 qt5 a11y: Implement Qt5AccessibleWidget::minimumStepSize 0f15f1ec7c7b qt5 a11y: Always query the XAccessibleContext for a11y interfaces b216a87d7a09 qt5 a11y: Improve Qt5AccessibleWidget::attributes bdf14fd8ea18 qt5 a11y: Implement Qt5AccessibleWidget::cursorPosition 96869931e35f qt5 a11y: Implement Qt5AccessibleWidget::textAtOffset add4f7732840 qt5 a11y: Handle AccessibleStateType::MULTI_LINE 7be0f62de07a qt5 a11y: Handle AccessibleStateType::MOVEABLE 6c8824490840 qt5 a11y: Skip attributes without value a440bea2f96f qt5 a11y: Adapt loop for string construction here a bit ddbc11155560 qt5 a11y: Set proper a11y states
(In reply to Michael Weghorn from comment #5) > qt5/qt6/kf5 are still not usable with a screen reader as of now, but some > work on a11y of the Qt-based VCL plugins has been done (and is going on), s. > e.g. the commits below. > (I also have a WIP branch where Orca *sometimes" speaks with the qt6 VCL > plugin.) > > Making this work properly also requires changes to the Qt library and Orca. > Since the corresponding Qt changes will only be in Qt 6, not Qt 5, I'm > moving this from the kf5 to the qt6 meta bug. While it's still not ready for production use, Orca already announces quite a lot when using the qt6 VCL plugin along with the current dev version of qtbase. (Orca e.g. ususally starts talking after double-clicking into a writer document, then moving around the toolbar,...) Some more related changes: LO (Qt-specific, but more do play a role): a182f283dabf qt a11y: Map AccessibleStateType::INDETERMINATE to Qt equivalent 66fa5aeec5db qt a11y: Set passwordEdit state for PASSWORD_TEXT d2daaedf2e3b qt a11y: Take current type into account when setting new value 15a6e23c4fc1 tdf#157696 qt a11y: Move handling for text attr offsets to helper be8b031d8b3c qt a11y: Forward CHILD event for removed child b73a8731c6f7 qt a11y: Return app as parent for top-level objects bc662b15bf56 qt a11y: Check child index in QtAccessibleWidget::child 4849c98eb44b qt a11y: Forward changes to active state 84183c84d864 qt a11y: Implement QAccessibleSelectionInterface added in Qt 6.5 734d10ed3612 qt a11y: Send QAccessible::ObjectCreated event for correct object 02266202e5e5 qt a11y: Handle all QAccessible::Relation flags 46a03cb52886 qt a11y: Add mapping for relations added in Qt 6.6 e55713dffbe8 qt a11y: Invert relation type to match Qt's semantic 155e8b1683f1 tdf#117173: qt a11y: Forward changes to SHOWING state 5226e3889155 tdf#150683 qt a11y: Add bound checks for table methods 1dbf4a111486 tdf#150683 qt a11y: Avoid using 32-bit child index here dce8fda483f3 qt a11y: Set the (un)selected child in selection add/remove event 8ce3d4f8b000 qt a11y: Forward text selection change event as such 9d2c9a592ad6 qt a11y: Work around Qt ignoring ActiveDescendantChanged events 61c0c1286dbd qt a11y: Remember associated QObject also for non-QtXAcccessible case 812fe185fba4 qt a11y: Remember and reuse existing QObject for XAccessible b99c74804b25 qt a11y: Drop unnecessary QObject inheritance 2523b5451507 qt a11y: Don't set invalid Qt relations 31e40de94c2e qt a11y: Report underline text attribute 1188364a2832 qt a11y: Report (background) color text attribute 99841da68662 qt a11y: Report font style text attribute (e.g. italic) qtbase: 7120859fdb a11y: QComboBox: Reset all model connections when setting model d91d53c951 a11y atspi: Add null checks in table iface methods a149b3fd53 a11y: Only send focus event when item has focus 3d58715e6f a11y: Implement QAccessibleSelectionInterface for QAccessibleTabBar b0bcf47569 a11y atspi: Ignore malformed text attr instead of crashing f67499baab a11y uia: Report UIA_StrikethroughStyleAttributeId d2bf45c6ed a11y: Report strikethrough via text attribute bb6ed27b50 a11y uia: Map 3 more roles to UIA control type IDs 56476947cf a11y atspi: Bridge IA2 strikeout text attrs to AT-SPI f035766b16 a11y atspi: Unescape commas in color text attribute 5db48d584e Don't reuse iterator var to avoid -D_GLIBCXX_DEBUG crash 1b0e76f514 a11y atspi: Don't restrict top-level window to 2 a11y roles 0699ef1301 a11y atspi: Update text-attribute links 5093e517b9 a11y: Keep current combobox entry in sync 2496882ea7 a11y: No longer mark QAccessibleSelectionInterface as preliminary 9900a12df6 a11y uia: Don't return "S_OK" and null text range beb1a48ef7 a11y atspi: Map ButtonMenu role to AT-SPI equivalent 4f9c66131d a11y uia: Bridge QAccessibleSelectionInterface 3bace699bf a11y uia: Support ISelectionProvider2 b8fb120384 a11y uia: Bridge newly added relations to UIA 6ec35ff8c5 a11y: Report app as parent for top-level item views 98e4e992fe a11y macOS: Report selection/Bridge QAccessibleSelectionInterface 86ea40b478 a11y atspi: Implement TableCell methods Get{Column,Row}HeaderCells c7b925757f a11y atspi: Report correct char code point when it's > 65535 f5358e5932 a11y: Add new relations DescriptionFor, Described, Flows{From,To} 092bbc9ad3 a11y: Implement QAccessibleSelectionInterface for item views ece2feee03 a11y atspi: Bridge newly introduced QAccessibleSelectionInterface 9d16d5e224 a11y: Add new QAccessibleSelectionInterface f408944598 a11y atspi: Clean up logging a bit 53086094d8 a11y: Fix QAccessibleTableInterface::selectedRows doc ad69ea47f5 a11y: Fix typo in QAccessible::ObjectHide doc ce16eb2679 a11y atspi: Forward table model change to AT-SPI dad2797aee a11y atspi: Move comment to better place 5462485a59 a11y atspi: Add null check in GetRowHeader handling 8b947bae72 a11y: Don't reassign unique ID to other object right away 0c0eadc484 a11y: Prevent one case of losing a11y interface when setting event child 063344c8b9 a11y atspi: Send SelectionChanged AT-SPI event on selection change 2910a6b308 a11y atspi: Forward SelectionWithin change to AT-SPI e81e7c3d99 a11y atspi: Drop FIXME that doesn't need action e5dca1ebe3 a11y atspi: Drop methods that are only declared 9ab11c726e a11y atspi: Support text interface's GetStringAtOffset 45121669f5 a11y atspi: Handle AT-SPI Text's ScrollSubstringTo 0131dbd2f9 a11y atspi: Drop commented out "say hello to d-bus" code e6599bfa61 a11y atspi: Send correct D-Bus reply for GetAttributeValue c2289ca582 a11y atspi: Add missing closing tag in introspection XML