cui/uiconfig/ui/linestyletabpage.ui | 11 +++ cui/uiconfig/ui/shadowtabpage.ui | 2 solenv/sanitizers/ui/cui.suppr | 5 - svx/uiconfig/ui/fontworkgallerydialog.ui | 1 xmlsecurity/uiconfig/ui/certdetails.ui | 1 xmlsecurity/uiconfig/ui/certgeneral.ui | 65 +++++++++++++++++++++ xmlsecurity/uiconfig/ui/certpage.ui | 12 +++ xmlsecurity/uiconfig/ui/digitalsignaturesdialog.ui | 57 ++++++++++++++++++ xmlsecurity/uiconfig/ui/selectcertificatedialog.ui | 17 +++++ 9 files changed, 165 insertions(+), 6 deletions(-)
New commits: commit 01b4b5e6668111abfdadd8899130539b9b9f3799 Author: Parth Raiyani <[email protected]> AuthorDate: Mon Feb 2 16:53:11 2026 +0530 Commit: Caolán McNamara <[email protected]> CommitDate: Thu Feb 26 23:59:48 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]> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200514 Tested-by: Jenkins CollaboraOffice <[email protected]> diff --git a/cui/uiconfig/ui/linestyletabpage.ui b/cui/uiconfig/ui/linestyletabpage.ui index d9ffc2a11da2..551a3099c1eb 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 32d3f5bc6ab3..99a6871df85b 100644 --- a/cui/uiconfig/ui/shadowtabpage.ui +++ b/cui/uiconfig/ui/shadowtabpage.ui @@ -215,7 +215,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 c343dc2a5f9f..ce51550628a4 100644 --- a/solenv/sanitizers/ui/cui.suppr +++ b/solenv/sanitizers/ui/cui.suppr @@ -72,8 +72,9 @@ cui/uiconfig/ui/insertfloatingframe.ui://GtkLabel[@id='widthlabel'] orphan-label cui/uiconfig/ui/insertfloatingframe.ui://GtkLabel[@id='heightlabel'] orphan-label cui/uiconfig/ui/insertoleobject.ui://GtkEntry[@id='urled'] no-labelled-by cui/uiconfig/ui/javastartparametersdialog.ui://GtkLabel[@id='label6'] orphan-label -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 commit 566482bb977904875bd6656d51e488fd9d88711b Author: Parth Raiyani <[email protected]> AuthorDate: Thu Feb 5 12:49:46 2026 +0530 Commit: Caolán McNamara <[email protected]> CommitDate: Thu Feb 26 23:59:39 2026 +0100 a11y: fix accessibility issue in signature dialog and font work gallery dialog - rename conflicting label ids - add mnemonic-widget in GtkLabel to correctly reference relevant object - add static role in GtkLabel for better accessibility - add missing accessible names Change-Id: I0c802a57e92264ef3cd7cafe0b865b22ec7651c8 Signed-off-by: Parth Raiyani <[email protected]> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198745 Tested-by: Jenkins CollaboraOffice <[email protected]> Tested-by: Caolán McNamara <[email protected]> Reviewed-by: Caolán McNamara <[email protected]> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200513 diff --git a/svx/uiconfig/ui/fontworkgallerydialog.ui b/svx/uiconfig/ui/fontworkgallerydialog.ui index 2d6a8f85285d..68e2e467bc8a 100644 --- a/svx/uiconfig/ui/fontworkgallerydialog.ui +++ b/svx/uiconfig/ui/fontworkgallerydialog.ui @@ -96,6 +96,7 @@ <property name="label" translatable="yes" context="fontworkgallerydialog|label1">Select a Fontwork style:</property> <property name="use-underline">True</property> <property name="xalign">0</property> + <property name="mnemonic-widget">ctlFavoriteswin</property> </object> <packing> <property name="left-attach">0</property> diff --git a/xmlsecurity/uiconfig/ui/certdetails.ui b/xmlsecurity/uiconfig/ui/certdetails.ui index 40f2f66099f8..38dfb7819584 100644 --- a/xmlsecurity/uiconfig/ui/certdetails.ui +++ b/xmlsecurity/uiconfig/ui/certdetails.ui @@ -98,6 +98,7 @@ <property name="vexpand">True</property> <child internal-child="accessible"> <object class="AtkObject" id="valuedetails-atkobject"> + <property name="AtkObject::accessible-name" translatable="yes" context="certdetails|valuedetails-atkobject">Value Details</property> <property name="AtkObject::accessible-description" translatable="yes" context="extended_tip|valuedetails">Use the value list box to view values and copy them to the clipboard.</property> </object> </child> diff --git a/xmlsecurity/uiconfig/ui/certgeneral.ui b/xmlsecurity/uiconfig/ui/certgeneral.ui index b72f1d2ba7a1..0db0bc2cad78 100644 --- a/xmlsecurity/uiconfig/ui/certgeneral.ui +++ b/xmlsecurity/uiconfig/ui/certgeneral.ui @@ -31,6 +31,11 @@ <property name="visible">True</property> <property name="can-focus">False</property> <property name="label" translatable="yes" context="certgeneral|label1">Certificate Information</property> + <child internal-child="accessible"> + <object class="AtkObject" id="label1-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> <attributes> <attribute name="weight" value="bold"/> </attributes> @@ -74,6 +79,11 @@ <property name="margin-bottom">108</property> <property name="label" translatable="yes" context="certgeneral|hintnotrust">This certificate is validated.</property> <property name="xalign">0</property> + <child internal-child="accessible"> + <object class="AtkObject" id="hintnotrust-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> <attributes> <attribute name="weight" value="bold"/> </attributes> @@ -108,6 +118,11 @@ <property name="can-focus">False</property> <property name="label" translatable="yes" context="certgeneral|issued_to">Issued to: </property> <property name="xalign">0</property> + <child internal-child="accessible"> + <object class="AtkObject" id="issued_to-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> <attributes> <attribute name="weight" value="bold"/> </attributes> @@ -123,6 +138,11 @@ <property name="can-focus">False</property> <property name="hexpand">True</property> <property name="xalign">0</property> + <child internal-child="accessible"> + <object class="AtkObject" id="issued_to_value-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> </object> <packing> <property name="left-attach">1</property> @@ -135,6 +155,11 @@ <property name="can-focus">False</property> <property name="label" translatable="yes" context="certgeneral|issued_by">Issued by: </property> <property name="xalign">0</property> + <child internal-child="accessible"> + <object class="AtkObject" id="issued_by-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> <attributes> <attribute name="weight" value="bold"/> </attributes> @@ -149,6 +174,11 @@ <property name="visible">True</property> <property name="can-focus">False</property> <property name="xalign">0</property> + <child internal-child="accessible"> + <object class="AtkObject" id="issued_by_value-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> </object> <packing> <property name="left-attach">1</property> @@ -161,6 +191,11 @@ <property name="can-focus">False</property> <property name="label" translatable="yes" context="certgeneral|valid_from">Valid from:</property> <property name="xalign">0</property> + <child internal-child="accessible"> + <object class="AtkObject" id="valid_from-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> <attributes> <attribute name="weight" value="bold"/> </attributes> @@ -192,6 +227,11 @@ <property name="visible">True</property> <property name="can-focus">False</property> <property name="label" translatable="yes" context="certgeneral|privatekey">You have a private key that corresponds to this certificate.</property> + <child internal-child="accessible"> + <object class="AtkObject" id="privatekey-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> </object> <packing> <property name="expand">False</property> @@ -212,6 +252,11 @@ <property name="can-focus">False</property> <property name="label" translatable="yes" context="certgeneral|valid_to">Valid to:</property> <property name="xalign">0</property> + <child internal-child="accessible"> + <object class="AtkObject" id="valid_to-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> <attributes> <attribute name="weight" value="bold"/> </attributes> @@ -226,6 +271,11 @@ <property name="visible">True</property> <property name="can-focus">False</property> <property name="xalign">0</property> + <child internal-child="accessible"> + <object class="AtkObject" id="valid_from_value-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> </object> <packing> <property name="left-attach">1</property> @@ -237,6 +287,11 @@ <property name="visible">True</property> <property name="can-focus">False</property> <property name="xalign">0</property> + <child internal-child="accessible"> + <object class="AtkObject" id="valid_to_value-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> </object> <packing> <property name="left-attach">1</property> @@ -249,6 +304,11 @@ <property name="can-focus">False</property> <property name="label" translatable="yes" context="certgeneral|type">Key type: </property> <property name="xalign">0</property> + <child internal-child="accessible"> + <object class="AtkObject" id="key_type-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> <attributes> <attribute name="weight" value="bold"/> </attributes> @@ -264,6 +324,11 @@ <property name="can-focus">False</property> <property name="hexpand">True</property> <property name="xalign">0</property> + <child internal-child="accessible"> + <object class="AtkObject" id="key_type_value-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> </object> <packing> <property name="left-attach">1</property> diff --git a/xmlsecurity/uiconfig/ui/certpage.ui b/xmlsecurity/uiconfig/ui/certpage.ui index 28f85c66ba1f..307752181992 100644 --- a/xmlsecurity/uiconfig/ui/certpage.ui +++ b/xmlsecurity/uiconfig/ui/certpage.ui @@ -116,7 +116,7 @@ <property name="vexpand">True</property> <property name="row-spacing">6</property> <child> - <object class="GtkLabel" id="label2"> + <object class="GtkLabel" id="certlabel2"> <property name="visible">True</property> <property name="can-focus">False</property> <property name="label" translatable="yes" context="certpage|label2">Certificate status</property> @@ -168,6 +168,11 @@ <property name="can-focus">False</property> <property name="no-show-all">True</property> <property name="label" translatable="yes" context="certpage|certok">The certificate is OK.</property> + <child internal-child="accessible"> + <object class="AtkObject" id="certok-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> </object> <packing> <property name="expand">False</property> @@ -180,6 +185,11 @@ <property name="can-focus">False</property> <property name="no-show-all">True</property> <property name="label" translatable="yes" context="certpage|certnotok">The certificate could not be validated.</property> + <child internal-child="accessible"> + <object class="AtkObject" id="certnotok-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> </object> <packing> <property name="expand">False</property> diff --git a/xmlsecurity/uiconfig/ui/digitalsignaturesdialog.ui b/xmlsecurity/uiconfig/ui/digitalsignaturesdialog.ui index f8142c223288..cdedbaa62368 100644 --- a/xmlsecurity/uiconfig/ui/digitalsignaturesdialog.ui +++ b/xmlsecurity/uiconfig/ui/digitalsignaturesdialog.ui @@ -88,6 +88,11 @@ <property name="no-show-all">True</property> <property name="label" translatable="yes" context="digitalsignaturesdialog|dochint">The following have signed the document content: </property> <property name="xalign">0</property> + <child internal-child="accessible"> + <object class="AtkObject" id="dochint-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> </object> <packing> <property name="expand">False</property> @@ -296,10 +301,15 @@ <property name="hexpand">True</property> <property name="column-spacing">12</property> <child> - <object class="GtkLabel" id="signed"> + <object class="GtkLabel" id="digsignsigned"> <property name="can-focus">False</property> <property name="no-show-all">True</property> <property name="hexpand">True</property> + <child internal-child="accessible"> + <object class="AtkObject" id="digsignsigned-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> </object> <packing> <property name="left-attach">0</property> @@ -311,6 +321,11 @@ <property name="can-focus">False</property> <property name="no-show-all">True</property> <property name="hexpand">True</property> + <child internal-child="accessible"> + <object class="AtkObject" id="issued-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> </object> <packing> <property name="left-attach">1</property> @@ -322,6 +337,11 @@ <property name="can-focus">False</property> <property name="no-show-all">True</property> <property name="hexpand">True</property> + <child internal-child="accessible"> + <object class="AtkObject" id="date-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> </object> <packing> <property name="left-attach">2</property> @@ -332,6 +352,11 @@ <object class="GtkLabel" id="description"> <property name="can-focus">False</property> <property name="no-show-all">True</property> + <child internal-child="accessible"> + <object class="AtkObject" id="description-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> </object> <packing> <property name="left-attach">3</property> @@ -342,6 +367,11 @@ <object class="GtkLabel" id="type"> <property name="can-focus">False</property> <property name="no-show-all">True</property> + <child internal-child="accessible"> + <object class="AtkObject" id="type-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> </object> <packing> <property name="left-attach">4</property> @@ -361,6 +391,11 @@ <property name="no-show-all">True</property> <property name="label" translatable="yes" context="digitalsignaturesdialog|macrohint">The following have signed the document macro:</property> <property name="xalign">0</property> + <child internal-child="accessible"> + <object class="AtkObject" id="macrohint-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> </object> <packing> <property name="expand">False</property> @@ -384,6 +419,11 @@ <property name="hexpand">True</property> <property name="label" translatable="yes" context="digitalsignaturesdialog|validft">The signatures in this document are valid</property> <property name="xalign">0</property> + <child internal-child="accessible"> + <object class="AtkObject" id="validft-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> </object> <packing> <property name="left-attach">1</property> @@ -408,6 +448,11 @@ <property name="hexpand">True</property> <property name="label" translatable="yes" context="digitalsignaturesdialog|invalidft">The signatures in this document are invalid</property> <property name="xalign">0</property> + <child internal-child="accessible"> + <object class="AtkObject" id="invalidft-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> </object> <packing> <property name="left-attach">1</property> @@ -421,6 +466,11 @@ <property name="hexpand">True</property> <property name="label" translatable="yes" context="digitalsignaturesdialog|oldsignatureft">At least one signature has problems: the document is only partially signed.</property> <property name="xalign">0</property> + <child internal-child="accessible"> + <object class="AtkObject" id="oldsignatureft-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> </object> <packing> <property name="left-attach">1</property> @@ -434,6 +484,11 @@ <property name="hexpand">True</property> <property name="label" translatable="yes" context="digitalsignaturesdialog|notvalidatedft">At least one signature has problems: the certificate could not be validated.</property> <property name="xalign">0</property> + <child internal-child="accessible"> + <object class="AtkObject" id="notvalidatedft-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> </object> <packing> <property name="left-attach">1</property> diff --git a/xmlsecurity/uiconfig/ui/selectcertificatedialog.ui b/xmlsecurity/uiconfig/ui/selectcertificatedialog.ui index 2ed0a3888440..8f961eb50900 100644 --- a/xmlsecurity/uiconfig/ui/selectcertificatedialog.ui +++ b/xmlsecurity/uiconfig/ui/selectcertificatedialog.ui @@ -102,6 +102,11 @@ <property name="width-chars">56</property> <property name="max-width-chars">56</property> <property name="xalign">0</property> + <child internal-child="accessible"> + <object class="AtkObject" id="sign-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> </object> <packing> <property name="expand">False</property> @@ -117,6 +122,11 @@ <property name="width-chars">56</property> <property name="max-width-chars">56</property> <property name="xalign">0</property> + <child internal-child="accessible"> + <object class="AtkObject" id="encrypt-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> </object> <packing> <property name="expand">False</property> @@ -131,6 +141,11 @@ <property name="width-chars">56</property> <property name="max-width-chars">56</property> <property name="xalign">0</property> + <child internal-child="accessible"> + <object class="AtkObject" id="loaded-certs-atkobject"> + <property name="AtkObject::accessible-role">static</property> + </object> + </child> </object> <packing> <property name="expand">False</property> @@ -256,6 +271,7 @@ <property name="primary-icon-stock">gtk-find</property> <child internal-child="accessible"> <object class="AtkObject" id="searchbox-atkobject"> + <property name="AtkObject::accessible-name" translatable="yes" context="selectcertificatedialog|searchbox-atkobject">Search</property> <property name="AtkObject::accessible-description" translatable="yes" context="selectcertificatedialog|extended_tip|searchbox">Search for certificate by issuer name or email.</property> </object> </child> @@ -276,6 +292,7 @@ <property name="visible">True</property> <property name="can-focus">False</property> <property name="label" translatable="yes" context="selectcertificatedialog|label2">Description:</property> + <property name="mnemonic_widget">description</property> </object> <packing> <property name="expand">False</property>
