diff options
author | Caolán McNamara <caolanm@redhat.com> | 2022-06-04 21:10:16 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2022-06-05 18:31:16 +0200 |
commit | 3cca2c605313576187878a195fb612eb25bd6150 (patch) | |
tree | aefde04eed4c4d81a6512057f7eeb09eb21de575 /sfx2 | |
parent | e6b5c2dc0bb12c7e0d23857bdd0e22076d587ca3 (diff) |
restore %PRODUCTNAME to accessible descriptions that need them
The original problem was that %PRODUCTNAME wasn't replaced for
accessibility descriptions (which are reused for extended tips) under
gtk.
Universally querying all a11y descs on load to potentially replace
%PRODUCTNAME in a11y descs at runtime led to tdf146971 which was a huge
startup slowdown.
The half way 7.3 fix was to leave a11y descs alone, but do the
replacement when querying for the extended tip case. So the extended
tooltips were ok, but screen readers would still say a raw
"%PRODUCTNAME" text, hence the rewording effort to remove %PRODUCTNAME
from the a11y descs entirely for 7.4.
But there is now a few cases where some options paths exists in the a11y
descs which is not exactly correct wrt to the text shown in the options
dialog.
Reworking the options dialog to not have %PRODUCTNAME there at all and
updating everything to fit that sort of change would not be popular. So
move the cases where a11y descs really should have %PRODUCTNAME in them
out of the .ui files and into .hrc files and use specific
set_accessibility_description calls for them via ResID which will do
the %PRODUCTNAME replacement automatically.
Hopefully the a11y runtime cost for just this handful of cases is
negligible in the overall scheme of things.
Change-Id: Ieb17d26fd581cd5804a52b371b3bb5ea43023aa3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135432
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sfx2')
-rw-r--r-- | sfx2/inc/dinfdlg.hrc | 4 | ||||
-rw-r--r-- | sfx2/source/dialog/dinfdlg.cxx | 2 | ||||
-rw-r--r-- | sfx2/uiconfig/ui/documentinfopage.ui | 5 |
3 files changed, 6 insertions, 5 deletions
diff --git a/sfx2/inc/dinfdlg.hrc b/sfx2/inc/dinfdlg.hrc index 153fedb1ff92..121bb80c3f8a 100644 --- a/sfx2/inc/dinfdlg.hrc +++ b/sfx2/inc/dinfdlg.hrc @@ -78,6 +78,10 @@ const std::pair<TranslateId, CustomProperties> SFX_LB_PROPERTY_STRINGARRAY[] = { NC_("SFX_CB_PROPERTY_STRINGARRAY", "Yes or no") , Custom_Type_Boolean } }; +// acccessibility descriptions that use %PRODUCTNAME, we set these explicitly because querying a11y descs +// in order to change %PRODUCTNAME at runtime is expensive, so limit doing that as much as possible. +#define STR_A11Y_DESC_USERDATA NC_("documentinfopage|extended_tip|userdatacb", "Saves the user's full name with the file. You can edit the name by choosing Tools - Options - %PRODUCTNAME - User Data.") + #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sfx2/source/dialog/dinfdlg.cxx b/sfx2/source/dialog/dinfdlg.cxx index 21d2c333f203..ddc272907306 100644 --- a/sfx2/source/dialog/dinfdlg.cxx +++ b/sfx2/source/dialog/dinfdlg.cxx @@ -695,6 +695,8 @@ SfxDocumentPage::SfxDocumentPage(weld::Container* pPage, weld::DialogController* , m_xImagePreferredDpiCheckButton(m_xBuilder->weld_check_button("image-preferred-dpi-checkbutton")) , m_xImagePreferredDpiComboBox(m_xBuilder->weld_combo_box("image-preferred-dpi-combobox")) { + m_xUseUserDataCB->set_accessible_description(SfxResId(STR_A11Y_DESC_USERDATA)); + m_aUnknownSize = m_xShowSizeFT->get_label(); m_xShowSizeFT->set_label(OUString()); diff --git a/sfx2/uiconfig/ui/documentinfopage.ui b/sfx2/uiconfig/ui/documentinfopage.ui index f8be86a62b5e..a8d59288ca98 100644 --- a/sfx2/uiconfig/ui/documentinfopage.ui +++ b/sfx2/uiconfig/ui/documentinfopage.ui @@ -186,11 +186,6 @@ <property name="no-show-all">True</property> <property name="use-underline">True</property> <property name="draw-indicator">True</property> - <child internal-child="accessible"> - <object class="AtkObject" id="userdatacb-atkobject"> - <property name="AtkObject::accessible-description" translatable="yes" context="documentinfopage|extended_tip|userdatacb">Saves the user's full name with the file. You can edit the name by choosing Tools - Options - User Data.</property> - </object> - </child> </object> <packing> <property name="left-attach">1</property> |