cui/uiconfig/ui/textflowpage.ui | 14 ++------------ solenv/sanitizers/ui/cui.suppr | 2 -- vcl/source/window/window.cxx | 7 ++++++- 3 files changed, 8 insertions(+), 15 deletions(-)
New commits: commit 0a6b6c0041bf70539cac6f8c7f48ae656b07aad1 Author: Parth Raiyani <[email protected]> AuthorDate: Sat Nov 22 20:32:25 2025 +0530 Commit: Caolán McNamara <[email protected]> CommitDate: Thu Feb 26 17:04:32 2026 +0100 Improves accessibility for split options by providing correct accessible name Signed-off-by: Parth Raiyani <[email protected]> Change-Id: I31169a1ea37e4a4d1ed59d9012511a65d4cff86c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194366 Tested-by: Jenkins CollaboraOffice <[email protected]> Reviewed-by: Szymon Kłos <[email protected]> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200441 Reviewed-by: Caolán McNamara <[email protected]> diff --git a/cui/uiconfig/ui/textflowpage.ui b/cui/uiconfig/ui/textflowpage.ui index 99dd498d15d3..0f9047f1f737 100644 --- a/cui/uiconfig/ui/textflowpage.ui +++ b/cui/uiconfig/ui/textflowpage.ui @@ -907,9 +907,6 @@ <property name="use-underline">True</property> <property name="inconsistent">True</property> <property name="draw-indicator">True</property> - <accessibility> - <relation type="label-for" target="spinOrphan"/> - </accessibility> <child internal-child="accessible"> <object class="AtkObject" id="checkOrphan-atkobject"> <property name="AtkObject::accessible-description" translatable="yes" context="textflowpage|extended_tip|checkOrphan">Specifies the minimum number of lines in a paragraph before a page break. Select this check box, and then enter a number in the Lines box.</property> @@ -932,9 +929,6 @@ <property name="use-underline">True</property> <property name="inconsistent">True</property> <property name="draw-indicator">True</property> - <accessibility> - <relation type="label-for" target="spinWidow"/> - </accessibility> <child internal-child="accessible"> <object class="AtkObject" id="checkWidow-atkobject"> <property name="AtkObject::accessible-description" translatable="yes" context="textflowpage|extended_tip|checkWidow">Specifies the minimum number of lines in a paragraph in the first page after the break. Select this check box, and then enter a number in the Lines box.</property> @@ -953,11 +947,9 @@ <property name="activates-default">True</property> <property name="truncate-multiline">True</property> <property name="adjustment">adjustment5</property> - <accessibility> - <relation type="labelled-by" target="checkOrphan"/> - </accessibility> <child internal-child="accessible"> <object class="AtkObject" id="spinOrphan-atkobject"> + <property name="AtkObject::accessible-name" translatable="yes" context="textflowpage|spinOrphan-atkobject">No split at beginning of paragraph, lines</property> <property name="AtkObject::accessible-description" translatable="yes" context="textflowpage|extended_tip|spinOrphan">Specifies the minimum number of lines in a paragraph before a page break. Select this check box, and then enter a number in the Lines box.</property> </object> </child> @@ -975,11 +967,9 @@ <property name="truncate-multiline">True</property> <property name="adjustment">adjustment6</property> <property name="numeric">True</property> - <accessibility> - <relation type="labelled-by" target="checkWidow"/> - </accessibility> <child internal-child="accessible"> <object class="AtkObject" id="spinWidow-atkobject"> + <property name="AtkObject::accessible-name" translatable="yes" context="textflowpage|spinWidow-atkobject">No split at end of paragraph, lines</property> <property name="AtkObject::accessible-description" translatable="yes" context="textflowpage|extended_tip|spinWidow">Specifies the minimum number of lines in a paragraph in the first page after the break. Select this check box, and then enter a number in the Lines box.</property> </object> </child> diff --git a/solenv/sanitizers/ui/cui.suppr b/solenv/sanitizers/ui/cui.suppr index 5e3e204ac174..c343dc2a5f9f 100644 --- a/solenv/sanitizers/ui/cui.suppr +++ b/solenv/sanitizers/ui/cui.suppr @@ -189,8 +189,6 @@ cui/uiconfig/ui/storedwebconnectiondialog.ui://GtkLabel[@id='label1'] orphan-lab cui/uiconfig/ui/textanimtabpage.ui://GtkLabel[@id='FT_COUNT'] orphan-label cui/uiconfig/ui/textanimtabpage.ui://GtkLabel[@id='FT_AMOUNT'] orphan-label cui/uiconfig/ui/textanimtabpage.ui://GtkLabel[@id='FT_DELAY'] orphan-label -cui/uiconfig/ui/textflowpage.ui://GtkLabel[@id='labelOrphan'] orphan-label -cui/uiconfig/ui/textflowpage.ui://GtkLabel[@id='labelWidow'] orphan-label cui/uiconfig/ui/thesaurus.ui://GtkLabel[@id='notfound'] orphan-label cui/uiconfig/ui/tsaurldialog.ui://GtkLabel[@id='label2'] orphan-label cui/uiconfig/ui/tsaurldialog.ui://GtkLabel[@id='enteraurl'] orphan-label commit 21a7b228504a67e3c0ac9b7c07ae17778cfc8dd8 Author: Henry Castro <[email protected]> AuthorDate: Fri Jan 9 07:34:40 2026 -0400 Commit: Caolán McNamara <[email protected]> CommitDate: Thu Feb 26 17:04:22 2026 +0100 vcl: dump JSON representation of ARIA role 'tablist' Certain buttons serve as a tablist role for switching panes (e.g., in the Find and Replace dialog), which is necessary for accessibility. Signed-off-by: Henry Castro <[email protected]> Change-Id: I3d3cac62eea885a48451bcd895d10247be00b77a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196920 Tested-by: Jenkins CollaboraOffice <[email protected]> Reviewed-by: Caolán McNamara <[email protected]> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200443 diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx index ef0191582fe9..7c44f63d369f 100644 --- a/vcl/source/window/window.cxx +++ b/vcl/source/window/window.cxx @@ -3412,9 +3412,12 @@ void Window::DumpAsPropertyTree(tools::JsonWriter& rJsonWriter) // If GtkLabel has a static accessibility role, mark renderAsStatic. // so LOK renders it as <span> instead of <label> for correct accessibility. + OUString sAccRole; sal_uInt16 nAccessibleRole = GetAccessibleRole(); if (nAccessibleRole == css::accessibility::AccessibleRole::STATIC && GetType() == WindowType::FIXEDTEXT) rJsonWriter.put("renderAsStatic", true); + else if (nAccessibleRole == css::accessibility::AccessibleRole::PAGE_TAB_LIST) + sAccRole = "tablist"; vcl::Window* pAccLabelFor = getAccessibleRelationLabelFor(); if (pAccLabelFor) @@ -3427,13 +3430,15 @@ void Window::DumpAsPropertyTree(tools::JsonWriter& rJsonWriter) OUString sAccName = (!pAccLabelFor && !pAccLabelledBy) ? GetAccessibleName() : OUString(); OUString sAccDesc = GetAccessibleDescription(); - if (!sAccName.isEmpty() || !sAccDesc.isEmpty()) + if (!sAccName.isEmpty() || !sAccDesc.isEmpty() || !sAccRole.isEmpty()) { auto aAria = rJsonWriter.startNode("aria"); if (!sAccDesc.isEmpty()) rJsonWriter.put("description", sAccDesc); if (!sAccName.isEmpty()) rJsonWriter.put("label", sAccName); + if (!sAccRole.isEmpty()) + rJsonWriter.put("role", sAccRole); } mpWindowImpl->maDumpAsPropertyTreeHdl.Call(rJsonWriter);
