cui/uiconfig/ui/lineendstabpage.ui | 1 + cui/uiconfig/ui/linestyletabpage.ui | 11 ++++++++++- cui/uiconfig/ui/shadowtabpage.ui | 2 +- solenv/sanitizers/ui/cui.suppr | 5 +++-- vcl/source/control/fixed.cxx | 10 ---------- vcl/source/window/window.cxx | 12 +----------- 6 files changed, 16 insertions(+), 25 deletions(-)
New commits: commit 90d1815c169954fec21417ace12a4e459014da43 Author: Parth Raiyani <[email protected]> AuthorDate: Thu Feb 5 13:25:57 2026 +0530 Commit: Caolán McNamara <[email protected]> CommitDate: Fri Feb 6 00:07:04 2026 +0100 FixedText: remove renderAsStatic flag logic - no need to stamp renderAsStatic flag in json as changed LOK to create <span> as default and only create <label> when label-for attribute is present in json Signed-off-by: Parth Raiyani <[email protected]> Change-Id: I069957bd58068d6709ec9128bda3ef45ac4f3b45 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198747 Tested-by: Caolán McNamara <[email protected]> Reviewed-by: Caolán McNamara <[email protected]> Tested-by: Jenkins CollaboraOffice <[email protected]> diff --git a/vcl/source/control/fixed.cxx b/vcl/source/control/fixed.cxx index d653acc2523d..aaf8d81980b3 100644 --- a/vcl/source/control/fixed.cxx +++ b/vcl/source/control/fixed.cxx @@ -461,16 +461,6 @@ void SelectableFixedText::DumpAsPropertyTree(tools::JsonWriter& rJsonWriter) Edit::DumpAsPropertyTree(rJsonWriter); rJsonWriter.put("type", "fixedtext"); rJsonWriter.put("selectable", true); - - // Add renderAsStatic for accessibility - sal_uInt16 nAccessibleRole = GetAccessibleRole(); - const std::initializer_list<sal_uInt16> staticRoles = { - css::accessibility::AccessibleRole::STATIC, - css::accessibility::AccessibleRole::NOTIFICATION - }; - - if (std::find(staticRoles.begin(), staticRoles.end(), nAccessibleRole) != staticRoles.end()) - rJsonWriter.put("renderAsStatic", true); } void FixedLine::ImplInit( vcl::Window* pParent, WinBits nStyle ) diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx index af6f4fc3b13a..60d6764b276c 100644 --- a/vcl/source/window/window.cxx +++ b/vcl/source/window/window.cxx @@ -3407,19 +3407,9 @@ 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(); - const std::initializer_list<sal_uInt16> staticRoles = { - css::accessibility::AccessibleRole::STATIC, - css::accessibility::AccessibleRole::NOTIFICATION - }; - - if (std::find(staticRoles.begin(), staticRoles.end(), nAccessibleRole) != staticRoles.end() - && GetType() == WindowType::FIXEDTEXT) - rJsonWriter.put("renderAsStatic", true); - else if (nAccessibleRole == css::accessibility::AccessibleRole::PAGE_TAB_LIST) + if (nAccessibleRole == css::accessibility::AccessibleRole::PAGE_TAB_LIST) sAccRole = "tablist"; vcl::Window* pAccLabelFor = getAccessibleRelationLabelFor(); commit fb3a8a65a22419ab2aefa2ba3c56e6251e4e8380 Author: Parth Raiyani <[email protected]> AuthorDate: Mon Feb 2 16:53:11 2026 +0530 Commit: Caolán McNamara <[email protected]> CommitDate: Fri Feb 6 00:06:58 2026 +0100 a11y: fix accessibility issue in line dialog - rename conflicting label ids - add mnemonic-widget in GtkLabel to correctly reference relevant object - add missing labelled-by accessibility relation - update suppr file for missing-label-for for linestyletabpage.ui Signed-off-by: Parth Raiyani <[email protected]> Change-Id: Id1332d94bd6ba08b0501e47079f5e2775d3b0f8c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198746 Tested-by: Caolán McNamara <[email protected]> Reviewed-by: Caolán McNamara <[email protected]> diff --git a/cui/uiconfig/ui/lineendstabpage.ui b/cui/uiconfig/ui/lineendstabpage.ui index 91f07417969e..4875f487ee96 100644 --- a/cui/uiconfig/ui/lineendstabpage.ui +++ b/cui/uiconfig/ui/lineendstabpage.ui @@ -65,6 +65,7 @@ <property name="can-focus">False</property> <property name="label" translatable="yes" context="lineendstabpage|FT_LINE_END_STYLE">Arrow _style:</property> <property name="use-underline">True</property> + <property name="mnemonic_widget">LB_LINEENDS</property> <property name="xalign">0</property> </object> <packing> diff --git a/cui/uiconfig/ui/linestyletabpage.ui b/cui/uiconfig/ui/linestyletabpage.ui index 391444cdd076..2beca17e202a 100644 --- a/cui/uiconfig/ui/linestyletabpage.ui +++ b/cui/uiconfig/ui/linestyletabpage.ui @@ -135,7 +135,7 @@ </packing> </child> <child> - <object class="GtkLabel" id="FT_DISTANCE"> + <object class="GtkLabel" id="FT_SPACING"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="label" translatable="yes" context="linestyletabpage|FT_DISTANCE">_Spacing:</property> @@ -168,6 +168,9 @@ <property name="visible">True</property> <property name="can_focus">False</property> <property name="active">1</property> + <accessibility> + <relation type="labelled-by" target="FT_TYPE"/> + </accessibility> <items> <item translatable="yes" context="linestyletabpage|liststoreTYPE">Dots</item> <item translatable="yes" context="linestyletabpage|liststoreTYPE">Dash</item> @@ -198,6 +201,9 @@ <property name="activates_default">True</property> <property name="truncate-multiline">True</property> <property name="adjustment">adjustmentNUM1</property> + <accessibility> + <relation type="labelled-by" target="FT_NUMBER"/> + </accessibility> </object> <packing> <property name="left_attach">2</property> @@ -226,6 +232,9 @@ <property name="adjustment">adjustmentDIST1</property> <property name="truncate-multiline">True</property> <property name="digits">2</property> + <accessibility> + <relation type="labelled-by" target="FT_LENGTH"/> + </accessibility> </object> <packing> <property name="left_attach">2</property> diff --git a/cui/uiconfig/ui/shadowtabpage.ui b/cui/uiconfig/ui/shadowtabpage.ui index 3ce897796f13..49c07dadb505 100644 --- a/cui/uiconfig/ui/shadowtabpage.ui +++ b/cui/uiconfig/ui/shadowtabpage.ui @@ -213,7 +213,7 @@ </packing> </child> <child> - <object class="GtkLabel" id="FT_TRANSPARENT"> + <object class="GtkLabel" id="FT_TRANSPARENT_SHADOW"> <property name="visible">True</property> <property name="can_focus">False</property> <property name="label" translatable="yes" context="shadowtabpage|FT_TRANSPARENT">_Transparency:</property> diff --git a/solenv/sanitizers/ui/cui.suppr b/solenv/sanitizers/ui/cui.suppr index 297ef5f57641..0f66f15dff38 100644 --- a/solenv/sanitizers/ui/cui.suppr +++ b/solenv/sanitizers/ui/cui.suppr @@ -76,8 +76,9 @@ cui/uiconfig/ui/insertoleobject.ui://GtkEntry[@id='urled'] no-labelled-by cui/uiconfig/ui/javastartparametersdialog.ui://GtkLabel[@id='label6'] orphan-label cui/uiconfig/ui/lineendstabpage.ui://GtkLabel[@id='FT_LINE_END_STYLE'] orphan-label cui/uiconfig/ui/lineendstabpage.ui://GtkComboBox[@id='LB_LINEENDS'] no-labelled-by -cui/uiconfig/ui/linestyletabpage.ui://GtkSpinButton[@id='NUM_FLD_2'] no-labelled-by -cui/uiconfig/ui/linestyletabpage.ui://GtkSpinButton[@id='MTR_FLD_LENGTH_2'] no-labelled-by +cui/uiconfig/ui/linestyletabpage.ui://GtkComboBoxText[@id='LB_TYPE_2'] missing-label-for +cui/uiconfig/ui/linestyletabpage.ui://GtkSpinButton[@id='NUM_FLD_2'] missing-label-for +cui/uiconfig/ui/linestyletabpage.ui://GtkSpinButton[@id='MTR_FLD_LENGTH_2'] missing-label-for cui/uiconfig/ui/macroselectordialog.ui://GtkLabel[@id='helpmacro'] orphan-label cui/uiconfig/ui/menuassignpage.ui://GtkLabel[@id='searchlabel'] orphan-label cui/uiconfig/ui/menuassignpage.ui://GtkLabel[@id='leftfunctionlabel'] orphan-label
