https://bugs.documentfoundation.org/show_bug.cgi?id=123864
Michael Weghorn <m.wegh...@posteo.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|libreoffice-b...@lists.free |m.wegh...@posteo.de |desktop.org | Status|NEW |ASSIGNED --- Comment #21 from Michael Weghorn <m.wegh...@posteo.de> --- (In reply to Michael Weghorn from comment #18) > Bold/italic buttons have role ATSPI_ROLE_TOGGLE_BUTTON, while the underline > button has ATSPI_ROLE_PUSH_BUTTON. All of them have a "checked" state set > when active, so likely Orca has special handling for toggle buttons here. Indeed, Orca has this in `src/orca/scripts/apps/soffice/speech_generator.py` def _generateToggleState(self, obj, **args): """Treat toggle buttons in the toolbar specially. This is so we can have more natural sounding speech such as "bold on", "bold off", etc.""" result = [] role = args.get('role', AXObject.get_role(obj)) if role == Atspi.Role.TOGGLE_BUTTON \ and AXObject.get_role(AXObject.get_parent(obj)) == Atspi.Role.TOOL_BAR: if AXUtilities.is_checked(obj): result.append(messages.ON) else: result.append(messages.OFF) result.extend(self.voice(speech_generator.SYSTEM, obj=obj, **args)) elif role == Atspi.Role.TOGGLE_BUTTON: result.extend(speech_generator.SpeechGenerator._generateToggleState( self, obj, **args)) return result Since the Underline button can be checked/unchecked (or pressed/not pressed), I think that using the TOGGLE_BUTTON role for it (and other toolbar buttons with similar behavior) seems reasonable (at least for the AT-SPI case). I've started working on this, but noticed a few additional things that need some work while doing that. In addition, Qt currently doesn't have an equivalent for the TOGGLE_BUTTON role, and was not mapping the CHECKABLE state to AT-SPI, so that also needs changes on Qt side. First one: https://codereview.qt-project.org/c/qt/qtbase/+/517844 -- You are receiving this mail because: You are the assignee for the bug.