tdf#164048 sw a11y: improve error/warning levels with
adding two A11y issue level: Error and warning level, and categorizing our accesibility issues based on how the PAC 2024 tools and WCAG behave with the different warnings/errors. Change-Id: If4e4800497340318bb990326c64de655f24a47e8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177389 Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de> Tested-by: Jenkins Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
This commit is contained in:
parent
7dc626a6cd
commit
13ac356a32
15 changed files with 654 additions and 425 deletions
|
@ -76,9 +76,9 @@
|
||||||
#define STR_WARN_TRANSP_CONVERTED_SHORT NC_("STR_WARN_TRANSP_CONVERTED_SHORT", "Transparencies removed")
|
#define STR_WARN_TRANSP_CONVERTED_SHORT NC_("STR_WARN_TRANSP_CONVERTED_SHORT", "Transparencies removed")
|
||||||
#define STR_ERR_SIGNATURE_FAILED NC_("STR_ERR_SIGNATURE_FAILED", "Signature generation failed")
|
#define STR_ERR_SIGNATURE_FAILED NC_("STR_ERR_SIGNATURE_FAILED", "Signature generation failed")
|
||||||
#define STR_ERR_PDF_EXPORT_ABORTED NC_("STR_ERR_PDF_EXPORT_ABORTED", "PDF export aborted")
|
#define STR_ERR_PDF_EXPORT_ABORTED NC_("STR_ERR_PDF_EXPORT_ABORTED", "PDF export aborted")
|
||||||
#define STR_WARN_PDFUA_ISSUES NNC_("STR_WARN_PDFUA_ISSUES", "One accessibility issue detected. Do you want to continue?", "%1 accessibility issues detected. Do you want to continue?")
|
#define STR_WARN_PDFUA_ISSUES NNC_("STR_WARN_PDFUA_ISSUES", "One accessibility error detected. Do you want to continue?", "%1 accessibility errors detected. Do you want to continue?")
|
||||||
#define STR_PDFUA_IGNORE NC_("STR_PDFUA_IGNORE", "Continue")
|
#define STR_PDFUA_IGNORE NC_("STR_PDFUA_IGNORE", "Continue")
|
||||||
#define STR_PDFUA_INVESTIGATE NNC_("STR_PDFUA_INVESTIGATE", "Investigate issue", "Investigate issues")
|
#define STR_PDFUA_INVESTIGATE NNC_("STR_PDFUA_INVESTIGATE", "Investigate error", "Investigate errors")
|
||||||
|
|
||||||
// Progress bar status indicator when importing or exporting
|
// Progress bar status indicator when importing or exporting
|
||||||
#define STR_FILTER_DOC_LOADING NC_("STR_FILTER_DOC_LOADING", "Loading: ")
|
#define STR_FILTER_DOC_LOADING NC_("STR_FILTER_DOC_LOADING", "Loading: ")
|
||||||
|
|
|
@ -279,7 +279,8 @@ IMPL_LINK_NOARG(ImpPDFTabDialog, OkHdl, weld::Button&, void)
|
||||||
const int nIssueCount = std::count_if(aIssues.begin(), aIssues.end(),
|
const int nIssueCount = std::count_if(aIssues.begin(), aIssues.end(),
|
||||||
[](const std::shared_ptr<sfx::AccessibilityIssue >& pIssues)
|
[](const std::shared_ptr<sfx::AccessibilityIssue >& pIssues)
|
||||||
{
|
{
|
||||||
return !pIssues->getHidden();
|
return !pIssues->getHidden() &&
|
||||||
|
pIssues->m_eIssueLvl == sfx::AccessibilityIssueLevel::ERRORLEV;
|
||||||
});
|
});
|
||||||
|
|
||||||
if (nIssueCount)
|
if (nIssueCount)
|
||||||
|
|
|
@ -54,10 +54,17 @@ enum class AccessibilityIssueID
|
||||||
FONTWORKS,
|
FONTWORKS,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum class AccessibilityIssueLevel : size_t
|
||||||
|
{
|
||||||
|
ERRORLEV = 0,
|
||||||
|
WARNLEV = 1,
|
||||||
|
LAST = WARNLEV
|
||||||
|
};
|
||||||
|
|
||||||
class SFX2_DLLPUBLIC AccessibilityIssue
|
class SFX2_DLLPUBLIC AccessibilityIssue
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
AccessibilityIssue(AccessibilityIssueID eIssueID);
|
AccessibilityIssue(AccessibilityIssueID eIssueID, AccessibilityIssueLevel eIssueLvl);
|
||||||
AccessibilityIssue(AccessibilityIssue const&) = default;
|
AccessibilityIssue(AccessibilityIssue const&) = default;
|
||||||
virtual ~AccessibilityIssue();
|
virtual ~AccessibilityIssue();
|
||||||
|
|
||||||
|
@ -75,6 +82,7 @@ public:
|
||||||
AccessibilityIssue& operator=(const AccessibilityIssue&) = default;
|
AccessibilityIssue& operator=(const AccessibilityIssue&) = default;
|
||||||
|
|
||||||
AccessibilityIssueID m_eIssueID;
|
AccessibilityIssueID m_eIssueID;
|
||||||
|
AccessibilityIssueLevel m_eIssueLvl;
|
||||||
OUString m_aIssueText;
|
OUString m_aIssueText;
|
||||||
bool m_bHidden;
|
bool m_bHidden;
|
||||||
|
|
||||||
|
|
|
@ -12,8 +12,10 @@
|
||||||
|
|
||||||
namespace sfx
|
namespace sfx
|
||||||
{
|
{
|
||||||
AccessibilityIssue::AccessibilityIssue(AccessibilityIssueID eIssueID)
|
AccessibilityIssue::AccessibilityIssue(AccessibilityIssueID eIssueID,
|
||||||
|
AccessibilityIssueLevel eIssueLvl)
|
||||||
: m_eIssueID(eIssueID)
|
: m_eIssueID(eIssueID)
|
||||||
|
, m_eIssueLvl(eIssueLvl)
|
||||||
, m_bHidden(false)
|
, m_bHidden(false)
|
||||||
, m_pParent(nullptr)
|
, m_pParent(nullptr)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1199,6 +1199,7 @@ gb_emscripten_fs_image_files += \
|
||||||
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/svx/ui/absrecbox.ui \
|
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/svx/ui/absrecbox.ui \
|
||||||
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/svx/ui/acceptrejectchangesdialog.ui \
|
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/svx/ui/acceptrejectchangesdialog.ui \
|
||||||
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/svx/ui/accessibilitycheckentry.ui \
|
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/svx/ui/accessibilitycheckentry.ui \
|
||||||
|
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/svx/ui/accessibilitychecklevel.ui \
|
||||||
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/svx/ui/addconditiondialog.ui \
|
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/svx/ui/addconditiondialog.ui \
|
||||||
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/svx/ui/adddataitemdialog.ui \
|
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/svx/ui/adddataitemdialog.ui \
|
||||||
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/svx/ui/addinstancedialog.ui \
|
$(INSTROOT)/$(LIBO_SHARE_FOLDER)/config/soffice.cfg/svx/ui/addinstancedialog.ui \
|
||||||
|
|
|
@ -13,6 +13,7 @@ $(eval $(call gb_UIConfig_add_uifiles,svx,\
|
||||||
svx/uiconfig/ui/absrecbox \
|
svx/uiconfig/ui/absrecbox \
|
||||||
svx/uiconfig/ui/acceptrejectchangesdialog \
|
svx/uiconfig/ui/acceptrejectchangesdialog \
|
||||||
svx/uiconfig/ui/accessibilitycheckentry \
|
svx/uiconfig/ui/accessibilitycheckentry \
|
||||||
|
svx/uiconfig/ui/accessibilitychecklevel \
|
||||||
svx/uiconfig/ui/addconditiondialog \
|
svx/uiconfig/ui/addconditiondialog \
|
||||||
svx/uiconfig/ui/adddataitemdialog \
|
svx/uiconfig/ui/adddataitemdialog \
|
||||||
svx/uiconfig/ui/addinstancedialog \
|
svx/uiconfig/ui/addinstancedialog \
|
||||||
|
|
322
svx/uiconfig/ui/accessibilitychecklevel.ui
Normal file
322
svx/uiconfig/ui/accessibilitychecklevel.ui
Normal file
|
@ -0,0 +1,322 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!-- Generated with glade 3.38.2 -->
|
||||||
|
<interface domain="svx">
|
||||||
|
<requires lib="gtk+" version="3.20"/>
|
||||||
|
<object class="GtkBox" id="accessibilityCheckLevelBox">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="spacing">6</property>
|
||||||
|
<property name="baseline-position">top</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkExpander" id="expand_document">
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="box_document">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="margin-start">6</property>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child type="label">
|
||||||
|
<object class="GtkLabel" id="expand_document_lb">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="label" translatable="yes" context="accessibilitychecklevel|expand_document_lb">Document</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">0</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkExpander" id="expand_styles">
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="box_styles">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="margin-start">6</property>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child type="label">
|
||||||
|
<object class="GtkLabel" id="expand_styles_lb">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="label" translatable="yes" context="accessibilitychecklevel|expand_styles_lb">Styles</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkExpander" id="expand_linked">
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="box_linked">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="margin-start">6</property>
|
||||||
|
<property name="hexpand">True</property>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child type="label">
|
||||||
|
<object class="GtkLabel" id="expand_linked_lb">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="label" translatable="yes" context="accessibilitychecklevel|expand_linked_lb">Missing linked graphic</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">2</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkExpander" id="expand_no_alt">
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="box_no_alt">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="margin-start">6</property>
|
||||||
|
<property name="hexpand">True</property>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child type="label">
|
||||||
|
<object class="GtkLabel" id="expand_no_alt_lb">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="label" translatable="yes" context="accessibilitychecklevel|expand_no_alt_lb">Missing alternative or description text</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">3</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkExpander" id="expand_table">
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="box_table">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="margin-start">6</property>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child type="label">
|
||||||
|
<object class="GtkLabel" id="expand_table_lb">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="label" translatable="yes" context="accessibilitychecklevel|expand_table_lb">Table</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">4</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkExpander" id="expand_formatting">
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="box_formatting">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="margin-start">6</property>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkExpander" id="expand_direct_formatting">
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="box_direct_formatting">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="margin-start">6</property>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child type="label">
|
||||||
|
<object class="GtkLabel" id="expand_direct_formatting_lb">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="label" context="accessibilitychecklevel|expand_direct_formatting_lb">Direct Formatting</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">0</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child type="label">
|
||||||
|
<object class="GtkLabel" id="expand_formatting_lb">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="label" translatable="yes" context="accessibilitychecklevel|expand_formatting_lb">Formatting</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">5</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkExpander" id="expand_hyperlink">
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="box_hyperlink">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="margin-start">6</property>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child type="label">
|
||||||
|
<object class="GtkLabel" id="expand_hyperlink_lb">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="label" translatable="yes" context="accessibilitychecklevel|expand_hyperlink_lb">Hyperlink</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">7</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkExpander" id="expand_fakes">
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="box_fakes">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="margin-start">6</property>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child type="label">
|
||||||
|
<object class="GtkLabel" id="expand_fakes_lb">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="label" translatable="yes" context="accessibilitychecklevel|expand_fakes_lb">Simulated captions</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">8</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkExpander" id="expand_numbering">
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="box_numbering">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="margin-start">6</property>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child type="label">
|
||||||
|
<object class="GtkLabel" id="expand_numbering_lb">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="label" translatable="yes" context="accessibilitychecklevel|expand_numbering_lb">Numbering</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">9</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkExpander" id="expand_other">
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="box_other">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="margin-start">6</property>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child type="label">
|
||||||
|
<object class="GtkLabel" id="expand_other_lb">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="label" context="accessibilitychecklevel|expand_other_lb">Other</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">10</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</interface>
|
|
@ -36,6 +36,7 @@ CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckDocumentIssues)
|
||||||
auto& aIssues = aCheck.getIssueCollection().getIssues();
|
auto& aIssues = aCheck.getIssueCollection().getIssues();
|
||||||
CPPUNIT_ASSERT_EQUAL(size_t(2), aIssues.size());
|
CPPUNIT_ASSERT_EQUAL(size_t(2), aIssues.size());
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DOCUMENT_LANGUAGE, aIssues[0]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DOCUMENT_LANGUAGE, aIssues[0]->m_eIssueID);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueLevel::WARNLEV, aIssues[0]->m_eIssueLvl);
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DOCUMENT_TITLE, aIssues[1]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DOCUMENT_TITLE, aIssues[1]->m_eIssueID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,11 +50,14 @@ CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testTableSplitMergeAndAltText)
|
||||||
CPPUNIT_ASSERT_EQUAL(size_t(6), aIssues.size());
|
CPPUNIT_ASSERT_EQUAL(size_t(6), aIssues.size());
|
||||||
|
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::NO_ALT_GRAPHIC, aIssues[0]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::NO_ALT_GRAPHIC, aIssues[0]->m_eIssueID);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueLevel::ERRORLEV, aIssues[0]->m_eIssueLvl);
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TABLE_MERGE_SPLIT, aIssues[1]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TABLE_MERGE_SPLIT, aIssues[1]->m_eIssueID);
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TABLE_MERGE_SPLIT, aIssues[2]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TABLE_MERGE_SPLIT, aIssues[2]->m_eIssueID);
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TABLE_MERGE_SPLIT, aIssues[3]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TABLE_MERGE_SPLIT, aIssues[3]->m_eIssueID);
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TABLE_MERGE_SPLIT, aIssues[4]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TABLE_MERGE_SPLIT, aIssues[4]->m_eIssueID);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueLevel::WARNLEV, aIssues[4]->m_eIssueLvl);
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::NO_ALT_SHAPE, aIssues[5]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::NO_ALT_SHAPE, aIssues[5]->m_eIssueID);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueLevel::ERRORLEV, aIssues[5]->m_eIssueLvl);
|
||||||
}
|
}
|
||||||
|
|
||||||
CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckParagraphIssues)
|
CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckParagraphIssues)
|
||||||
|
@ -78,6 +82,7 @@ CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckBackgroundImage)
|
||||||
auto& aIssues = aCheck.getIssueCollection().getIssues();
|
auto& aIssues = aCheck.getIssueCollection().getIssues();
|
||||||
CPPUNIT_ASSERT_EQUAL(size_t(1), aIssues.size());
|
CPPUNIT_ASSERT_EQUAL(size_t(1), aIssues.size());
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DOCUMENT_BACKGROUND, aIssues[0]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DOCUMENT_BACKGROUND, aIssues[0]->m_eIssueID);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueLevel::WARNLEV, aIssues[0]->m_eIssueLvl);
|
||||||
}
|
}
|
||||||
|
|
||||||
CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckLinkedImage)
|
CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckLinkedImage)
|
||||||
|
@ -89,6 +94,7 @@ CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckLinkedImage)
|
||||||
auto& aIssues = aCheck.getIssueCollection().getIssues();
|
auto& aIssues = aCheck.getIssueCollection().getIssues();
|
||||||
CPPUNIT_ASSERT_EQUAL(size_t(4), aIssues.size());
|
CPPUNIT_ASSERT_EQUAL(size_t(4), aIssues.size());
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::LINKED_GRAPHIC, aIssues[1]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::LINKED_GRAPHIC, aIssues[1]->m_eIssueID);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueLevel::WARNLEV, aIssues[1]->m_eIssueLvl);
|
||||||
}
|
}
|
||||||
|
|
||||||
CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckNewlineSpace)
|
CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckNewlineSpace)
|
||||||
|
@ -103,6 +109,7 @@ CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckNewlineSpace)
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_FORMATTING, aIssues[1]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_FORMATTING, aIssues[1]->m_eIssueID);
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, aIssues[2]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, aIssues[2]->m_eIssueID);
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_FORMATTING, aIssues[3]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_FORMATTING, aIssues[3]->m_eIssueID);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueLevel::WARNLEV, aIssues[3]->m_eIssueLvl);
|
||||||
}
|
}
|
||||||
|
|
||||||
CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckSpacebarSpace)
|
CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckSpacebarSpace)
|
||||||
|
@ -127,9 +134,12 @@ CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testHyperlinks)
|
||||||
auto& aIssues = aCheck.getIssueCollection().getIssues();
|
auto& aIssues = aCheck.getIssueCollection().getIssues();
|
||||||
CPPUNIT_ASSERT_EQUAL(size_t(5), aIssues.size());
|
CPPUNIT_ASSERT_EQUAL(size_t(5), aIssues.size());
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::HYPERLINK_SHORT, aIssues[0]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::HYPERLINK_SHORT, aIssues[0]->m_eIssueID);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueLevel::WARNLEV, aIssues[0]->m_eIssueLvl);
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::HYPERLINK_NO_NAME, aIssues[1]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::HYPERLINK_NO_NAME, aIssues[1]->m_eIssueID);
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::HYPERLINK_IS_TEXT, aIssues[2]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::HYPERLINK_IS_TEXT, aIssues[2]->m_eIssueID);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueLevel::WARNLEV, aIssues[2]->m_eIssueLvl);
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::HYPERLINK_NO_NAME, aIssues[3]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::HYPERLINK_NO_NAME, aIssues[3]->m_eIssueID);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueLevel::WARNLEV, aIssues[3]->m_eIssueLvl);
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, aIssues[4]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, aIssues[4]->m_eIssueID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -159,6 +169,7 @@ CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testNumberingCheck)
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::MANUAL_NUMBERING, aIssues[2]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::MANUAL_NUMBERING, aIssues[2]->m_eIssueID);
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::MANUAL_NUMBERING, aIssues[3]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::MANUAL_NUMBERING, aIssues[3]->m_eIssueID);
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::MANUAL_NUMBERING, aIssues[4]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::MANUAL_NUMBERING, aIssues[4]->m_eIssueID);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueLevel::WARNLEV, aIssues[4]->m_eIssueLvl);
|
||||||
}
|
}
|
||||||
|
|
||||||
CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckFakeFootnote)
|
CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckFakeFootnote)
|
||||||
|
@ -171,10 +182,13 @@ CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckFakeFootnote)
|
||||||
CPPUNIT_ASSERT_EQUAL(size_t(6), aIssues.size());
|
CPPUNIT_ASSERT_EQUAL(size_t(6), aIssues.size());
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, aIssues[0]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, aIssues[0]->m_eIssueID);
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::FAKE_FOOTNOTE, aIssues[1]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::FAKE_FOOTNOTE, aIssues[1]->m_eIssueID);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueLevel::WARNLEV, aIssues[1]->m_eIssueLvl);
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, aIssues[2]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, aIssues[2]->m_eIssueID);
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::FAKE_FOOTNOTE, aIssues[3]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::FAKE_FOOTNOTE, aIssues[3]->m_eIssueID);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueLevel::WARNLEV, aIssues[3]->m_eIssueLvl);
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, aIssues[4]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, aIssues[4]->m_eIssueID);
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, aIssues[5]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, aIssues[5]->m_eIssueID);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueLevel::WARNLEV, aIssues[5]->m_eIssueLvl);
|
||||||
}
|
}
|
||||||
|
|
||||||
CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckFakeCaption)
|
CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckFakeCaption)
|
||||||
|
@ -186,6 +200,7 @@ CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckFakeCaption)
|
||||||
auto& aIssues = aCheck.getIssueCollection().getIssues();
|
auto& aIssues = aCheck.getIssueCollection().getIssues();
|
||||||
CPPUNIT_ASSERT_EQUAL(size_t(1), aIssues.size());
|
CPPUNIT_ASSERT_EQUAL(size_t(1), aIssues.size());
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::FAKE_CAPTION, aIssues[0]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::FAKE_CAPTION, aIssues[0]->m_eIssueID);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueLevel::WARNLEV, aIssues[0]->m_eIssueLvl);
|
||||||
}
|
}
|
||||||
|
|
||||||
CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckTableFormatting)
|
CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckTableFormatting)
|
||||||
|
@ -197,6 +212,7 @@ CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckTableFormatting)
|
||||||
auto& aIssues = aCheck.getIssueCollection().getIssues();
|
auto& aIssues = aCheck.getIssueCollection().getIssues();
|
||||||
CPPUNIT_ASSERT_EQUAL(size_t(1), aIssues.size());
|
CPPUNIT_ASSERT_EQUAL(size_t(1), aIssues.size());
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TABLE_FORMATTING, aIssues[0]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TABLE_FORMATTING, aIssues[0]->m_eIssueID);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueLevel::WARNLEV, aIssues[0]->m_eIssueLvl);
|
||||||
}
|
}
|
||||||
|
|
||||||
CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckTabsFormatting)
|
CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckTabsFormatting)
|
||||||
|
@ -244,6 +260,7 @@ CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testDeleteHeader)
|
||||||
aCheck.check();
|
aCheck.check();
|
||||||
CPPUNIT_ASSERT_EQUAL(size_t(8), aIssues.size());
|
CPPUNIT_ASSERT_EQUAL(size_t(8), aIssues.size());
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DOCUMENT_TITLE, aIssues[0]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DOCUMENT_TITLE, aIssues[0]->m_eIssueID);
|
||||||
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueLevel::ERRORLEV, aIssues[0]->m_eIssueLvl);
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_FORMATTING, aIssues[1]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_FORMATTING, aIssues[1]->m_eIssueID);
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_FORMATTING, aIssues[2]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_FORMATTING, aIssues[2]->m_eIssueID);
|
||||||
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_FORMATTING, aIssues[3]->m_eIssueID);
|
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_FORMATTING, aIssues[3]->m_eIssueID);
|
||||||
|
|
|
@ -271,9 +271,9 @@ void lcl_SetHiddenIssues(std::shared_ptr<sw::AccessibilityIssue>& pIssue)
|
||||||
|
|
||||||
std::shared_ptr<sw::AccessibilityIssue>
|
std::shared_ptr<sw::AccessibilityIssue>
|
||||||
lclAddIssue(sfx::AccessibilityIssueCollection& rIssueCollection, OUString const& rText,
|
lclAddIssue(sfx::AccessibilityIssueCollection& rIssueCollection, OUString const& rText,
|
||||||
sfx::AccessibilityIssueID eIssue)
|
sfx::AccessibilityIssueID eIssueId, sfx::AccessibilityIssueLevel eIssueLvl)
|
||||||
{
|
{
|
||||||
auto pIssue = std::make_shared<sw::AccessibilityIssue>(eIssue);
|
auto pIssue = std::make_shared<sw::AccessibilityIssue>(eIssueId, eIssueLvl);
|
||||||
pIssue->m_aIssueText = rText;
|
pIssue->m_aIssueText = rText;
|
||||||
|
|
||||||
// check which a11y issue should be visible
|
// check which a11y issue should be visible
|
||||||
|
@ -330,7 +330,8 @@ class NoTextNodeAltTextCheck : public NodeCheck
|
||||||
.replaceFirst("%LINK%", sURL);
|
.replaceFirst("%LINK%", sURL);
|
||||||
|
|
||||||
auto pIssue = lclAddIssue(m_rIssueCollection, sIssueText,
|
auto pIssue = lclAddIssue(m_rIssueCollection, sIssueText,
|
||||||
sfx::AccessibilityIssueID::LINKED_GRAPHIC);
|
sfx::AccessibilityIssueID::LINKED_GRAPHIC,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
pIssue->setDoc(pNoTextNode->GetDoc());
|
pIssue->setDoc(pNoTextNode->GetDoc());
|
||||||
pIssue->setIssueObject(IssueObject::LINKED);
|
pIssue->setIssueObject(IssueObject::LINKED);
|
||||||
pIssue->setObjectID(pFrameFormat->GetName());
|
pIssue->setObjectID(pFrameFormat->GetName());
|
||||||
|
@ -347,8 +348,9 @@ class NoTextNodeAltTextCheck : public NodeCheck
|
||||||
|
|
||||||
if (pNoTextNode->IsOLENode())
|
if (pNoTextNode->IsOLENode())
|
||||||
{
|
{
|
||||||
auto pIssue = lclAddIssue(m_rIssueCollection, sIssueText,
|
auto pIssue
|
||||||
sfx::AccessibilityIssueID::NO_ALT_OLE);
|
= lclAddIssue(m_rIssueCollection, sIssueText, sfx::AccessibilityIssueID::NO_ALT_OLE,
|
||||||
|
sfx::AccessibilityIssueLevel::ERRORLEV);
|
||||||
pIssue->setDoc(pNoTextNode->GetDoc());
|
pIssue->setDoc(pNoTextNode->GetDoc());
|
||||||
pIssue->setIssueObject(IssueObject::OLE);
|
pIssue->setIssueObject(IssueObject::OLE);
|
||||||
pIssue->setObjectID(pFrameFormat->GetName());
|
pIssue->setObjectID(pFrameFormat->GetName());
|
||||||
|
@ -359,7 +361,8 @@ class NoTextNodeAltTextCheck : public NodeCheck
|
||||||
if (!(pIsDecorItem && pIsDecorItem->GetValue()))
|
if (!(pIsDecorItem && pIsDecorItem->GetValue()))
|
||||||
{
|
{
|
||||||
auto pIssue = lclAddIssue(m_rIssueCollection, sIssueText,
|
auto pIssue = lclAddIssue(m_rIssueCollection, sIssueText,
|
||||||
sfx::AccessibilityIssueID::NO_ALT_GRAPHIC);
|
sfx::AccessibilityIssueID::NO_ALT_GRAPHIC,
|
||||||
|
sfx::AccessibilityIssueLevel::ERRORLEV);
|
||||||
pIssue->setDoc(pNoTextNode->GetDoc());
|
pIssue->setDoc(pNoTextNode->GetDoc());
|
||||||
pIssue->setIssueObject(IssueObject::GRAPHIC);
|
pIssue->setIssueObject(IssueObject::GRAPHIC);
|
||||||
pIssue->setObjectID(pFrameFormat->GetName());
|
pIssue->setObjectID(pFrameFormat->GetName());
|
||||||
|
@ -395,7 +398,8 @@ private:
|
||||||
OUString sName = pFormat->GetName();
|
OUString sName = pFormat->GetName();
|
||||||
OUString sIssueText = SwResId(STR_TABLE_MERGE_SPLIT).replaceAll("%OBJECT_NAME%", sName);
|
OUString sIssueText = SwResId(STR_TABLE_MERGE_SPLIT).replaceAll("%OBJECT_NAME%", sName);
|
||||||
auto pIssue = lclAddIssue(m_rIssueCollection, sIssueText,
|
auto pIssue = lclAddIssue(m_rIssueCollection, sIssueText,
|
||||||
sfx::AccessibilityIssueID::TABLE_MERGE_SPLIT);
|
sfx::AccessibilityIssueID::TABLE_MERGE_SPLIT,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
pIssue->setDoc(rDoc);
|
pIssue->setDoc(rDoc);
|
||||||
pIssue->setIssueObject(IssueObject::TABLE);
|
pIssue->setIssueObject(IssueObject::TABLE);
|
||||||
pIssue->setObjectID(sName);
|
pIssue->setObjectID(sName);
|
||||||
|
@ -493,7 +497,8 @@ private:
|
||||||
if (nEmptyBoxes > nBoxCount / 2)
|
if (nEmptyBoxes > nBoxCount / 2)
|
||||||
{
|
{
|
||||||
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_TABLE_FORMATTING),
|
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_TABLE_FORMATTING),
|
||||||
sfx::AccessibilityIssueID::TABLE_FORMATTING);
|
sfx::AccessibilityIssueID::TABLE_FORMATTING,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
|
|
||||||
pIssue->setDoc(pTableNode->GetDoc());
|
pIssue->setDoc(pTableNode->GetDoc());
|
||||||
pIssue->setIssueObject(IssueObject::TABLE);
|
pIssue->setIssueObject(IssueObject::TABLE);
|
||||||
|
@ -558,7 +563,8 @@ public:
|
||||||
OUString sIssueText
|
OUString sIssueText
|
||||||
= SwResId(STR_FAKE_NUMBERING).replaceAll("%NUMBERING%", sNumbering);
|
= SwResId(STR_FAKE_NUMBERING).replaceAll("%NUMBERING%", sNumbering);
|
||||||
auto pIssue = lclAddIssue(m_rIssueCollection, sIssueText,
|
auto pIssue = lclAddIssue(m_rIssueCollection, sIssueText,
|
||||||
sfx::AccessibilityIssueID::MANUAL_NUMBERING);
|
sfx::AccessibilityIssueID::MANUAL_NUMBERING,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
pIssue->setIssueObject(IssueObject::TEXT);
|
pIssue->setIssueObject(IssueObject::TEXT);
|
||||||
pIssue->setDoc(pCurrent->GetDoc());
|
pIssue->setDoc(pCurrent->GetDoc());
|
||||||
pIssue->setNode(pCurrent);
|
pIssue->setNode(pCurrent);
|
||||||
|
@ -593,13 +599,15 @@ private:
|
||||||
OUString sIssueText = SwResId(STR_HYPERLINK_TEXT_IS_LINK)
|
OUString sIssueText = SwResId(STR_HYPERLINK_TEXT_IS_LINK)
|
||||||
.replaceFirst("%LINK%", sHyperlink);
|
.replaceFirst("%LINK%", sHyperlink);
|
||||||
pIssue = lclAddIssue(m_rIssueCollection, sIssueText,
|
pIssue = lclAddIssue(m_rIssueCollection, sIssueText,
|
||||||
sfx::AccessibilityIssueID::HYPERLINK_IS_TEXT);
|
sfx::AccessibilityIssueID::HYPERLINK_IS_TEXT,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
}
|
}
|
||||||
else if (sRunText.getLength() <= 5)
|
else if (sRunText.getLength() <= 5)
|
||||||
{
|
{
|
||||||
pIssue
|
pIssue
|
||||||
= lclAddIssue(m_rIssueCollection, SwResId(STR_HYPERLINK_TEXT_IS_SHORT),
|
= lclAddIssue(m_rIssueCollection, SwResId(STR_HYPERLINK_TEXT_IS_SHORT),
|
||||||
sfx::AccessibilityIssueID::HYPERLINK_SHORT);
|
sfx::AccessibilityIssueID::HYPERLINK_SHORT,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pIssue)
|
if (pIssue)
|
||||||
|
@ -619,7 +627,8 @@ private:
|
||||||
{
|
{
|
||||||
std::shared_ptr<sw::AccessibilityIssue> pNameIssue
|
std::shared_ptr<sw::AccessibilityIssue> pNameIssue
|
||||||
= lclAddIssue(m_rIssueCollection, SwResId(STR_HYPERLINK_NO_NAME),
|
= lclAddIssue(m_rIssueCollection, SwResId(STR_HYPERLINK_NO_NAME),
|
||||||
sfx::AccessibilityIssueID::HYPERLINK_NO_NAME);
|
sfx::AccessibilityIssueID::HYPERLINK_NO_NAME,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
|
|
||||||
if (pNameIssue)
|
if (pNameIssue)
|
||||||
{
|
{
|
||||||
|
@ -785,7 +794,8 @@ private:
|
||||||
{
|
{
|
||||||
auto pIssue
|
auto pIssue
|
||||||
= lclAddIssue(m_rIssueCollection, SwResId(STR_TEXT_FORMATTING_CONVEYS_MEANING),
|
= lclAddIssue(m_rIssueCollection, SwResId(STR_TEXT_FORMATTING_CONVEYS_MEANING),
|
||||||
sfx::AccessibilityIssueID::DIRECT_FORMATTING);
|
sfx::AccessibilityIssueID::DIRECT_FORMATTING,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
pIssue->setIssueObject(IssueObject::TEXT);
|
pIssue->setIssueObject(IssueObject::TEXT);
|
||||||
pIssue->setNode(pTextNode);
|
pIssue->setNode(pTextNode);
|
||||||
SwDoc& rDocument = pTextNode->GetDoc();
|
SwDoc& rDocument = pTextNode->GetDoc();
|
||||||
|
@ -811,7 +821,8 @@ private:
|
||||||
if (fContrastRatio < 4.5)
|
if (fContrastRatio < 4.5)
|
||||||
{
|
{
|
||||||
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_TEXT_CONTRAST),
|
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_TEXT_CONTRAST),
|
||||||
sfx::AccessibilityIssueID::TEXT_CONTRAST);
|
sfx::AccessibilityIssueID::TEXT_CONTRAST,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
pIssue->setIssueObject(IssueObject::TEXT);
|
pIssue->setIssueObject(IssueObject::TEXT);
|
||||||
pIssue->setNode(pTextNode);
|
pIssue->setNode(pTextNode);
|
||||||
pIssue->setDoc(pTextNode->GetDoc());
|
pIssue->setDoc(pTextNode->GetDoc());
|
||||||
|
@ -1257,7 +1268,8 @@ public:
|
||||||
|
|
||||||
o3tl::remove_duplicates(aFormattings);
|
o3tl::remove_duplicates(aFormattings);
|
||||||
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_TEXT_FORMATTING_CONVEYS_MEANING),
|
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_TEXT_FORMATTING_CONVEYS_MEANING),
|
||||||
sfx::AccessibilityIssueID::DIRECT_FORMATTING);
|
sfx::AccessibilityIssueID::DIRECT_FORMATTING,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
pIssue->setIssueObject(IssueObject::TEXT);
|
pIssue->setIssueObject(IssueObject::TEXT);
|
||||||
pIssue->setNode(pTextNode);
|
pIssue->setNode(pTextNode);
|
||||||
SwDoc& rDocument = pTextNode->GetDoc();
|
SwDoc& rDocument = pTextNode->GetDoc();
|
||||||
|
@ -1597,7 +1609,8 @@ public:
|
||||||
{
|
{
|
||||||
auto pIssue
|
auto pIssue
|
||||||
= lclAddIssue(m_rIssueCollection, SwResId(STR_TEXT_FORMATTING_CONVEYS_MEANING),
|
= lclAddIssue(m_rIssueCollection, SwResId(STR_TEXT_FORMATTING_CONVEYS_MEANING),
|
||||||
sfx::AccessibilityIssueID::DIRECT_FORMATTING);
|
sfx::AccessibilityIssueID::DIRECT_FORMATTING,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
pIssue->setIssueObject(IssueObject::TEXT);
|
pIssue->setIssueObject(IssueObject::TEXT);
|
||||||
pIssue->setNode(pTextNode);
|
pIssue->setNode(pTextNode);
|
||||||
SwDoc& rDocument = pTextNode->GetDoc();
|
SwDoc& rDocument = pTextNode->GetDoc();
|
||||||
|
@ -1616,7 +1629,8 @@ public:
|
||||||
{
|
{
|
||||||
auto pIssue
|
auto pIssue
|
||||||
= lclAddIssue(m_rIssueCollection, SwResId(STR_TEXT_FORMATTING_CONVEYS_MEANING),
|
= lclAddIssue(m_rIssueCollection, SwResId(STR_TEXT_FORMATTING_CONVEYS_MEANING),
|
||||||
sfx::AccessibilityIssueID::DIRECT_FORMATTING);
|
sfx::AccessibilityIssueID::DIRECT_FORMATTING,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
pIssue->setIssueObject(IssueObject::TEXT);
|
pIssue->setIssueObject(IssueObject::TEXT);
|
||||||
pIssue->setNode(pTextNode);
|
pIssue->setNode(pTextNode);
|
||||||
SwDoc& rDocument = pTextNode->GetDoc();
|
SwDoc& rDocument = pTextNode->GetDoc();
|
||||||
|
@ -1685,7 +1699,8 @@ public:
|
||||||
if (pPrevTextNode->GetText().getLength() == 0)
|
if (pPrevTextNode->GetText().getLength() == 0)
|
||||||
{
|
{
|
||||||
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_AVOID_NEWLINES_SPACE),
|
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_AVOID_NEWLINES_SPACE),
|
||||||
sfx::AccessibilityIssueID::TEXT_FORMATTING);
|
sfx::AccessibilityIssueID::TEXT_FORMATTING,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
pIssue->setIssueObject(IssueObject::TEXT);
|
pIssue->setIssueObject(IssueObject::TEXT);
|
||||||
pIssue->setNode(pTextNode);
|
pIssue->setNode(pTextNode);
|
||||||
pIssue->setDoc(rDocument);
|
pIssue->setDoc(rDocument);
|
||||||
|
@ -1711,7 +1726,8 @@ public:
|
||||||
{
|
{
|
||||||
auto pIssue
|
auto pIssue
|
||||||
= lclAddIssue(m_rIssueCollection, SwResId(STR_AVOID_NEWLINES_SPACE),
|
= lclAddIssue(m_rIssueCollection, SwResId(STR_AVOID_NEWLINES_SPACE),
|
||||||
sfx::AccessibilityIssueID::TEXT_FORMATTING);
|
sfx::AccessibilityIssueID::TEXT_FORMATTING,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
pIssue->setIssueObject(IssueObject::TEXT);
|
pIssue->setIssueObject(IssueObject::TEXT);
|
||||||
pIssue->setNode(pTextNode);
|
pIssue->setNode(pTextNode);
|
||||||
pIssue->setDoc(rDocument);
|
pIssue->setDoc(rDocument);
|
||||||
|
@ -1784,7 +1800,8 @@ public:
|
||||||
{
|
{
|
||||||
auto pIssue = lclAddIssue(m_rIssueCollection,
|
auto pIssue = lclAddIssue(m_rIssueCollection,
|
||||||
SwResId(STR_AVOID_TABS_FORMATTING),
|
SwResId(STR_AVOID_TABS_FORMATTING),
|
||||||
sfx::AccessibilityIssueID::TEXT_FORMATTING);
|
sfx::AccessibilityIssueID::TEXT_FORMATTING,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
pIssue->setIssueObject(IssueObject::TEXT);
|
pIssue->setIssueObject(IssueObject::TEXT);
|
||||||
pIssue->setNode(pTextNode);
|
pIssue->setNode(pTextNode);
|
||||||
SwDoc& rDocument = pTextNode->GetDoc();
|
SwDoc& rDocument = pTextNode->GetDoc();
|
||||||
|
@ -1801,7 +1818,8 @@ public:
|
||||||
{
|
{
|
||||||
auto pIssue
|
auto pIssue
|
||||||
= lclAddIssue(m_rIssueCollection, SwResId(STR_AVOID_SPACES_SPACE),
|
= lclAddIssue(m_rIssueCollection, SwResId(STR_AVOID_SPACES_SPACE),
|
||||||
sfx::AccessibilityIssueID::TEXT_FORMATTING);
|
sfx::AccessibilityIssueID::TEXT_FORMATTING,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
pIssue->setIssueObject(IssueObject::TEXT);
|
pIssue->setIssueObject(IssueObject::TEXT);
|
||||||
pIssue->setNode(pTextNode);
|
pIssue->setNode(pTextNode);
|
||||||
SwDoc& rDocument = pTextNode->GetDoc();
|
SwDoc& rDocument = pTextNode->GetDoc();
|
||||||
|
@ -1837,7 +1855,8 @@ private:
|
||||||
&& pTextAttr->GetStart() == 0 && pTextAttr->GetAnyEnd() == 1)
|
&& pTextAttr->GetStart() == 0 && pTextAttr->GetAnyEnd() == 1)
|
||||||
{
|
{
|
||||||
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_AVOID_FAKE_FOOTNOTES),
|
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_AVOID_FAKE_FOOTNOTES),
|
||||||
sfx::AccessibilityIssueID::FAKE_FOOTNOTE);
|
sfx::AccessibilityIssueID::FAKE_FOOTNOTE,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
pIssue->setIssueObject(IssueObject::TEXT);
|
pIssue->setIssueObject(IssueObject::TEXT);
|
||||||
pIssue->setNode(pTextNode);
|
pIssue->setNode(pTextNode);
|
||||||
SwDoc& rDocument = pTextNode->GetDoc();
|
SwDoc& rDocument = pTextNode->GetDoc();
|
||||||
|
@ -1867,7 +1886,8 @@ public:
|
||||||
if (pTextNode->GetText()[0] == '*')
|
if (pTextNode->GetText()[0] == '*')
|
||||||
{
|
{
|
||||||
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_AVOID_FAKE_FOOTNOTES),
|
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_AVOID_FAKE_FOOTNOTES),
|
||||||
sfx::AccessibilityIssueID::FAKE_FOOTNOTE);
|
sfx::AccessibilityIssueID::FAKE_FOOTNOTE,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
pIssue->setIssueObject(IssueObject::TEXT);
|
pIssue->setIssueObject(IssueObject::TEXT);
|
||||||
pIssue->setNode(pTextNode);
|
pIssue->setNode(pTextNode);
|
||||||
SwDoc& rDocument = pTextNode->GetDoc();
|
SwDoc& rDocument = pTextNode->GetDoc();
|
||||||
|
@ -1941,7 +1961,8 @@ public:
|
||||||
|| sText.startsWith(SwResId(STR_POOLCOLL_LABEL_FIGURE)))
|
|| sText.startsWith(SwResId(STR_POOLCOLL_LABEL_FIGURE)))
|
||||||
{
|
{
|
||||||
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_AVOID_FAKE_CAPTIONS),
|
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_AVOID_FAKE_CAPTIONS),
|
||||||
sfx::AccessibilityIssueID::FAKE_CAPTION);
|
sfx::AccessibilityIssueID::FAKE_CAPTION,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
pIssue->setIssueObject(IssueObject::TEXT);
|
pIssue->setIssueObject(IssueObject::TEXT);
|
||||||
pIssue->setNode(pTextNode);
|
pIssue->setNode(pTextNode);
|
||||||
SwDoc& rDocument = pTextNode->GetDoc();
|
SwDoc& rDocument = pTextNode->GetDoc();
|
||||||
|
@ -1969,7 +1990,8 @@ private:
|
||||||
if (bBlinking)
|
if (bBlinking)
|
||||||
{
|
{
|
||||||
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_TEXT_BLINKING),
|
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_TEXT_BLINKING),
|
||||||
sfx::AccessibilityIssueID::TEXT_BLINKING);
|
sfx::AccessibilityIssueID::TEXT_BLINKING,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
pIssue->setIssueObject(IssueObject::TEXT);
|
pIssue->setIssueObject(IssueObject::TEXT);
|
||||||
pIssue->setNode(pTextNode);
|
pIssue->setNode(pTextNode);
|
||||||
pIssue->setDoc(pTextNode->GetDoc());
|
pIssue->setDoc(pTextNode->GetDoc());
|
||||||
|
@ -2037,7 +2059,8 @@ public:
|
||||||
if (nLevel > m_nPreviousLevel && std::abs(nLevel - m_nPreviousLevel) > 1)
|
if (nLevel > m_nPreviousLevel && std::abs(nLevel - m_nPreviousLevel) > 1)
|
||||||
{
|
{
|
||||||
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_HEADINGS_NOT_IN_ORDER),
|
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_HEADINGS_NOT_IN_ORDER),
|
||||||
sfx::AccessibilityIssueID::HEADINGS_NOT_IN_ORDER);
|
sfx::AccessibilityIssueID::HEADINGS_NOT_IN_ORDER,
|
||||||
|
sfx::AccessibilityIssueLevel::ERRORLEV);
|
||||||
pIssue->setIssueObject(IssueObject::TEXT);
|
pIssue->setIssueObject(IssueObject::TEXT);
|
||||||
pIssue->setDoc(pCurrent->GetDoc());
|
pIssue->setDoc(pCurrent->GetDoc());
|
||||||
pIssue->setNode(pCurrent);
|
pIssue->setNode(pCurrent);
|
||||||
|
@ -2083,7 +2106,8 @@ public:
|
||||||
{
|
{
|
||||||
sal_Int32 nStart = 0;
|
sal_Int32 nStart = 0;
|
||||||
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_NON_INTERACTIVE_FORMS),
|
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_NON_INTERACTIVE_FORMS),
|
||||||
sfx::AccessibilityIssueID::NON_INTERACTIVE_FORMS);
|
sfx::AccessibilityIssueID::NON_INTERACTIVE_FORMS,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
pIssue->setIssueObject(IssueObject::TEXT);
|
pIssue->setIssueObject(IssueObject::TEXT);
|
||||||
pIssue->setNode(pTextNode);
|
pIssue->setNode(pTextNode);
|
||||||
pIssue->setDoc(pTextNode->GetDoc());
|
pIssue->setDoc(pTextNode->GetDoc());
|
||||||
|
@ -2131,7 +2155,8 @@ public:
|
||||||
if (aIdx == aCurrentIdx)
|
if (aIdx == aCurrentIdx)
|
||||||
{
|
{
|
||||||
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_FLOATING_TEXT),
|
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_FLOATING_TEXT),
|
||||||
sfx::AccessibilityIssueID::FLOATING_TEXT);
|
sfx::AccessibilityIssueID::FLOATING_TEXT,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
pIssue->setIssueObject(IssueObject::TEXTFRAME);
|
pIssue->setIssueObject(IssueObject::TEXTFRAME);
|
||||||
pIssue->setObjectID(pFormat->GetName());
|
pIssue->setObjectID(pFormat->GetName());
|
||||||
pIssue->setDoc(pCurrent->GetDoc());
|
pIssue->setDoc(pCurrent->GetDoc());
|
||||||
|
@ -2175,7 +2200,8 @@ public:
|
||||||
{
|
{
|
||||||
m_bPrevPassed = false;
|
m_bPrevPassed = false;
|
||||||
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_HEADING_IN_TABLE),
|
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_HEADING_IN_TABLE),
|
||||||
sfx::AccessibilityIssueID::HEADING_IN_TABLE);
|
sfx::AccessibilityIssueID::HEADING_IN_TABLE,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
pIssue->setIssueObject(IssueObject::TEXT);
|
pIssue->setIssueObject(IssueObject::TEXT);
|
||||||
pIssue->setDoc(pCurrent->GetDoc());
|
pIssue->setDoc(pCurrent->GetDoc());
|
||||||
pIssue->setNode(pCurrent);
|
pIssue->setNode(pCurrent);
|
||||||
|
@ -2224,7 +2250,8 @@ public:
|
||||||
}
|
}
|
||||||
resultString
|
resultString
|
||||||
= resultString.replaceAll("%LEVEL_CURRENT%", OUString::number(currentLevel));
|
= resultString.replaceAll("%LEVEL_CURRENT%", OUString::number(currentLevel));
|
||||||
auto pIssue = lclAddIssue(m_rIssueCollection, resultString, eIssueID);
|
auto pIssue = lclAddIssue(m_rIssueCollection, resultString, eIssueID,
|
||||||
|
sfx::AccessibilityIssueLevel::ERRORLEV);
|
||||||
pIssue->setIssueObject(IssueObject::TEXT);
|
pIssue->setIssueObject(IssueObject::TEXT);
|
||||||
pIssue->setDoc(pCurrent->GetDoc());
|
pIssue->setDoc(pCurrent->GetDoc());
|
||||||
pIssue->setNode(pCurrent);
|
pIssue->setNode(pCurrent);
|
||||||
|
@ -2269,7 +2296,8 @@ public:
|
||||||
auto pIssue
|
auto pIssue
|
||||||
= lclAddIssue(m_rIssueCollection,
|
= lclAddIssue(m_rIssueCollection,
|
||||||
SwResId(STR_CONTENT_CONTROL_IN_HEADER_OR_FOOTER),
|
SwResId(STR_CONTENT_CONTROL_IN_HEADER_OR_FOOTER),
|
||||||
sfx::AccessibilityIssueID::CONTENT_CONTROL);
|
sfx::AccessibilityIssueID::CONTENT_CONTROL,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
pIssue->setIssueObject(IssueObject::TEXT);
|
pIssue->setIssueObject(IssueObject::TEXT);
|
||||||
pIssue->setDoc(pCurrent->GetDoc());
|
pIssue->setDoc(pCurrent->GetDoc());
|
||||||
pIssue->setNode(pCurrent);
|
pIssue->setNode(pCurrent);
|
||||||
|
@ -2310,7 +2338,8 @@ public:
|
||||||
if (eLanguage == LANGUAGE_NONE)
|
if (eLanguage == LANGUAGE_NONE)
|
||||||
{
|
{
|
||||||
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_DOCUMENT_DEFAULT_LANGUAGE),
|
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_DOCUMENT_DEFAULT_LANGUAGE),
|
||||||
sfx::AccessibilityIssueID::DOCUMENT_LANGUAGE);
|
sfx::AccessibilityIssueID::DOCUMENT_LANGUAGE,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
pIssue->setIssueObject(IssueObject::LANGUAGE_NOT_SET);
|
pIssue->setIssueObject(IssueObject::LANGUAGE_NOT_SET);
|
||||||
pIssue->setObjectID(OUString());
|
pIssue->setObjectID(OUString());
|
||||||
pIssue->setDoc(*pDoc);
|
pIssue->setDoc(*pDoc);
|
||||||
|
@ -2327,7 +2356,8 @@ public:
|
||||||
= SwResId(STR_STYLE_NO_LANGUAGE).replaceAll("%STYLE_NAME%", sName);
|
= SwResId(STR_STYLE_NO_LANGUAGE).replaceAll("%STYLE_NAME%", sName);
|
||||||
|
|
||||||
auto pIssue = lclAddIssue(m_rIssueCollection, sIssueText,
|
auto pIssue = lclAddIssue(m_rIssueCollection, sIssueText,
|
||||||
sfx::AccessibilityIssueID::STYLE_LANGUAGE);
|
sfx::AccessibilityIssueID::STYLE_LANGUAGE,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
pIssue->setIssueObject(IssueObject::LANGUAGE_NOT_SET);
|
pIssue->setIssueObject(IssueObject::LANGUAGE_NOT_SET);
|
||||||
pIssue->setObjectID(sName);
|
pIssue->setObjectID(sName);
|
||||||
pIssue->setDoc(*pDoc);
|
pIssue->setDoc(*pDoc);
|
||||||
|
@ -2359,7 +2389,8 @@ public:
|
||||||
if (o3tl::trim(sTitle).empty())
|
if (o3tl::trim(sTitle).empty())
|
||||||
{
|
{
|
||||||
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_DOCUMENT_TITLE),
|
auto pIssue = lclAddIssue(m_rIssueCollection, SwResId(STR_DOCUMENT_TITLE),
|
||||||
sfx::AccessibilityIssueID::DOCUMENT_TITLE);
|
sfx::AccessibilityIssueID::DOCUMENT_TITLE,
|
||||||
|
sfx::AccessibilityIssueLevel::ERRORLEV);
|
||||||
pIssue->setDoc(*pDoc);
|
pIssue->setDoc(*pDoc);
|
||||||
pIssue->setIssueObject(IssueObject::DOCUMENT_TITLE);
|
pIssue->setIssueObject(IssueObject::DOCUMENT_TITLE);
|
||||||
}
|
}
|
||||||
|
@ -2384,7 +2415,8 @@ public:
|
||||||
sfx::AccessibilityIssueID eIssueID = rFootnote.IsEndNote()
|
sfx::AccessibilityIssueID eIssueID = rFootnote.IsEndNote()
|
||||||
? sfx::AccessibilityIssueID::AVOID_FOOTNOTES
|
? sfx::AccessibilityIssueID::AVOID_FOOTNOTES
|
||||||
: sfx::AccessibilityIssueID::AVOID_ENDNOTES;
|
: sfx::AccessibilityIssueID::AVOID_ENDNOTES;
|
||||||
auto pIssue = lclAddIssue(m_rIssueCollection, sError, eIssueID);
|
auto pIssue = lclAddIssue(m_rIssueCollection, sError, eIssueID,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
pIssue->setDoc(*pDoc);
|
pIssue->setDoc(*pDoc);
|
||||||
pIssue->setIssueObject(IssueObject::FOOTENDNOTE);
|
pIssue->setIssueObject(IssueObject::FOOTENDNOTE);
|
||||||
pIssue->setTextFootnote(pTextFootnote);
|
pIssue->setTextFootnote(pTextFootnote);
|
||||||
|
@ -2427,7 +2459,8 @@ public:
|
||||||
{
|
{
|
||||||
auto pIssue
|
auto pIssue
|
||||||
= lclAddIssue(m_rIssueCollection, SwResId(STR_AVOID_BACKGROUND_IMAGES),
|
= lclAddIssue(m_rIssueCollection, SwResId(STR_AVOID_BACKGROUND_IMAGES),
|
||||||
sfx::AccessibilityIssueID::DOCUMENT_BACKGROUND);
|
sfx::AccessibilityIssueID::DOCUMENT_BACKGROUND,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
|
|
||||||
pIssue->setDoc(*pDoc);
|
pIssue->setDoc(*pDoc);
|
||||||
pIssue->setIssueObject(IssueObject::DOCUMENT_BACKGROUND);
|
pIssue->setIssueObject(IssueObject::DOCUMENT_BACKGROUND);
|
||||||
|
@ -2454,7 +2487,8 @@ void AccessibilityCheck::checkObject(SwNode* pCurrent, SdrObject* pObject)
|
||||||
if (const uno::Any* pAny = rGeometryItem.GetPropertyValueByName(u"Type"_ustr))
|
if (const uno::Any* pAny = rGeometryItem.GetPropertyValueByName(u"Type"_ustr))
|
||||||
if (pAny->get<OUString>().startsWith("fontwork-"))
|
if (pAny->get<OUString>().startsWith("fontwork-"))
|
||||||
lclAddIssue(m_aIssueCollection, SwResId(STR_FONTWORKS),
|
lclAddIssue(m_aIssueCollection, SwResId(STR_FONTWORKS),
|
||||||
sfx::AccessibilityIssueID::FONTWORKS);
|
sfx::AccessibilityIssueID::FONTWORKS,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Checking if there is floating Writer text draw object and if so, throwing a warning.
|
// Checking if there is floating Writer text draw object and if so, throwing a warning.
|
||||||
|
@ -2463,7 +2497,8 @@ void AccessibilityCheck::checkObject(SwNode* pCurrent, SdrObject* pObject)
|
||||||
&& FindFrameFormat(pObject)->GetAnchor().GetAnchorId() != RndStdIds::FLY_AS_CHAR)
|
&& FindFrameFormat(pObject)->GetAnchor().GetAnchorId() != RndStdIds::FLY_AS_CHAR)
|
||||||
{
|
{
|
||||||
auto pIssue = lclAddIssue(m_aIssueCollection, SwResId(STR_FLOATING_TEXT),
|
auto pIssue = lclAddIssue(m_aIssueCollection, SwResId(STR_FLOATING_TEXT),
|
||||||
sfx::AccessibilityIssueID::FLOATING_TEXT);
|
sfx::AccessibilityIssueID::FLOATING_TEXT,
|
||||||
|
sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
pIssue->setIssueObject(IssueObject::TEXTFRAME);
|
pIssue->setIssueObject(IssueObject::TEXTFRAME);
|
||||||
pIssue->setObjectID(pObject->GetName());
|
pIssue->setObjectID(pObject->GetName());
|
||||||
pIssue->setDoc(*m_pDoc);
|
pIssue->setDoc(*m_pDoc);
|
||||||
|
@ -2483,7 +2518,8 @@ void AccessibilityCheck::checkObject(SwNode* pCurrent, SdrObject* pObject)
|
||||||
const OUString& sName = pObject->GetName();
|
const OUString& sName = pObject->GetName();
|
||||||
OUString sIssueText = SwResId(STR_NO_ALT).replaceAll("%OBJECT_NAME%", sName);
|
OUString sIssueText = SwResId(STR_NO_ALT).replaceAll("%OBJECT_NAME%", sName);
|
||||||
auto pIssue = lclAddIssue(m_aIssueCollection, sIssueText,
|
auto pIssue = lclAddIssue(m_aIssueCollection, sIssueText,
|
||||||
sfx::AccessibilityIssueID::NO_ALT_SHAPE);
|
sfx::AccessibilityIssueID::NO_ALT_SHAPE,
|
||||||
|
sfx::AccessibilityIssueLevel::ERRORLEV);
|
||||||
// Set FORM Issue for Form objects because of the design mode
|
// Set FORM Issue for Form objects because of the design mode
|
||||||
if (nInv == SdrInventor::FmForm)
|
if (nInv == SdrInventor::FmForm)
|
||||||
pIssue->setIssueObject(IssueObject::FORM);
|
pIssue->setIssueObject(IssueObject::FORM);
|
||||||
|
|
|
@ -35,8 +35,9 @@
|
||||||
|
|
||||||
namespace sw
|
namespace sw
|
||||||
{
|
{
|
||||||
AccessibilityIssue::AccessibilityIssue(sfx::AccessibilityIssueID eIssueID)
|
AccessibilityIssue::AccessibilityIssue(sfx::AccessibilityIssueID eIssueID,
|
||||||
: sfx::AccessibilityIssue(eIssueID)
|
sfx::AccessibilityIssueLevel eIssueLvl)
|
||||||
|
: sfx::AccessibilityIssue(eIssueID, eIssueLvl)
|
||||||
, m_eIssueObject(IssueObject::UNKNOWN)
|
, m_eIssueObject(IssueObject::UNKNOWN)
|
||||||
, m_pDoc(nullptr)
|
, m_pDoc(nullptr)
|
||||||
, m_pNode(nullptr)
|
, m_pNode(nullptr)
|
||||||
|
|
|
@ -49,7 +49,7 @@ private:
|
||||||
sal_Int32 m_nEnd;
|
sal_Int32 m_nEnd;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
AccessibilityIssue(sfx::AccessibilityIssueID eIssueID);
|
AccessibilityIssue(sfx::AccessibilityIssueID eIssueID, sfx::AccessibilityIssueLevel eIssueLvl);
|
||||||
AccessibilityIssue(AccessibilityIssue const&) = default;
|
AccessibilityIssue(AccessibilityIssue const&) = default;
|
||||||
|
|
||||||
void setIssueObject(IssueObject eIssueObject);
|
void setIssueObject(IssueObject eIssueObject);
|
||||||
|
|
|
@ -97,28 +97,9 @@ IMPL_LINK_NOARG(AccessibilityCheckEntry, FixButtonClicked, weld::Button&, void)
|
||||||
m_pAccessibilityIssue->quickFixIssue();
|
m_pAccessibilityIssue->quickFixIssue();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<PanelLayout> A11yCheckIssuesPanel::Create(weld::Widget* pParent,
|
AccessibilityCheckLevel::AccessibilityCheckLevel(weld::Box* pParent)
|
||||||
SfxBindings* pBindings)
|
: m_xBuilder(Application::CreateBuilder(pParent, u"svx/ui/accessibilitychecklevel.ui"_ustr))
|
||||||
{
|
, m_xContainer(m_xBuilder->weld_box(u"accessibilityCheckLevelBox"_ustr))
|
||||||
if (pParent == nullptr)
|
|
||||||
throw css::lang::IllegalArgumentException(
|
|
||||||
u"no parent window given to A11yCheckIssuesPanel::Create"_ustr, nullptr, 0);
|
|
||||||
return std::make_unique<A11yCheckIssuesPanel>(pParent, pBindings);
|
|
||||||
}
|
|
||||||
|
|
||||||
A11yCheckIssuesPanel::A11yCheckIssuesPanel(weld::Widget* pParent, SfxBindings* pBindings)
|
|
||||||
: PanelLayout(pParent, u"A11yCheckIssuesPanel"_ustr,
|
|
||||||
u"modules/swriter/ui/a11ycheckissuespanel.ui"_ustr)
|
|
||||||
, m_xOptionsButton(m_xBuilder->weld_button(u"bOptions"_ustr))
|
|
||||||
, mxAccessibilityBox(m_xBuilder->weld_box(u"accessibilityCheckBox"_ustr))
|
|
||||||
, mxUpdateBox(m_xBuilder->weld_box(u"updateBox"_ustr))
|
|
||||||
, mxUpdateLinkButton(m_xBuilder->weld_link_button(u"updateLinkButton"_ustr))
|
|
||||||
|
|
||||||
, mpBindings(pBindings)
|
|
||||||
, mpDoc(nullptr)
|
|
||||||
, maA11yCheckController(FN_STAT_ACCESSIBILITY_CHECK, *pBindings, *this)
|
|
||||||
, mnIssueCount(0)
|
|
||||||
, mbAutomaticCheckEnabled(false)
|
|
||||||
{
|
{
|
||||||
m_xExpanders[0] = m_xBuilder->weld_expander(u"expand_document"_ustr);
|
m_xExpanders[0] = m_xBuilder->weld_expander(u"expand_document"_ustr);
|
||||||
m_xExpanders[1] = m_xBuilder->weld_expander(u"expand_styles"_ustr);
|
m_xExpanders[1] = m_xBuilder->weld_expander(u"expand_styles"_ustr);
|
||||||
|
@ -143,6 +124,84 @@ A11yCheckIssuesPanel::A11yCheckIssuesPanel(weld::Widget* pParent, SfxBindings* p
|
||||||
m_xBoxes[8] = m_xBuilder->weld_box(u"box_fakes"_ustr);
|
m_xBoxes[8] = m_xBuilder->weld_box(u"box_fakes"_ustr);
|
||||||
m_xBoxes[9] = m_xBuilder->weld_box(u"box_numbering"_ustr);
|
m_xBoxes[9] = m_xBuilder->weld_box(u"box_numbering"_ustr);
|
||||||
m_xBoxes[10] = m_xBuilder->weld_box(u"box_other"_ustr);
|
m_xBoxes[10] = m_xBuilder->weld_box(u"box_other"_ustr);
|
||||||
|
}
|
||||||
|
|
||||||
|
void AccessibilityCheckLevel::removeAllEntries()
|
||||||
|
{
|
||||||
|
for (auto eGroup : o3tl::enumrange<AccessibilityCheckGroups>())
|
||||||
|
{
|
||||||
|
auto nGroupIndex = size_t(eGroup);
|
||||||
|
for (auto const& xEntry : m_aEntries[nGroupIndex])
|
||||||
|
m_xBoxes[nGroupIndex]->move(xEntry->get_widget(), nullptr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void AccessibilityCheckLevel::reset()
|
||||||
|
{
|
||||||
|
for (auto& xExpander : m_xExpanders)
|
||||||
|
xExpander.reset();
|
||||||
|
|
||||||
|
for (auto& xBox : m_xBoxes)
|
||||||
|
xBox.reset();
|
||||||
|
}
|
||||||
|
|
||||||
|
void AccessibilityCheckLevel::addEntryForGroup(
|
||||||
|
AccessibilityCheckGroups eGroup, std::vector<sal_Int32>& rIndices,
|
||||||
|
std::shared_ptr<sfx::AccessibilityIssue> const& pIssue)
|
||||||
|
{
|
||||||
|
auto nGroupIndex = size_t(eGroup);
|
||||||
|
// prevent the UI locking up forever, this is effectively an O(n^2) situation, given the way the UI additions work
|
||||||
|
if (m_aEntries[nGroupIndex].size() > 500)
|
||||||
|
{
|
||||||
|
SAL_WARN("sw", "too many a11y issues, not adding to panel");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
auto xEntry = std::make_unique<AccessibilityCheckEntry>(m_xBoxes[nGroupIndex].get(), pIssue);
|
||||||
|
m_xBoxes[nGroupIndex]->reorder_child(xEntry->get_widget(), rIndices[nGroupIndex]++);
|
||||||
|
m_aEntries[nGroupIndex].push_back(std::move(xEntry));
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t AccessibilityCheckLevel::getEntrySize(AccessibilityCheckGroups eGroup) const
|
||||||
|
{
|
||||||
|
auto nGroupIndex = size_t(eGroup);
|
||||||
|
return m_aEntries[nGroupIndex].size();
|
||||||
|
}
|
||||||
|
|
||||||
|
void AccessibilityCheckLevel::show(size_t nGroupIndex) { m_xExpanders[nGroupIndex]->show(); }
|
||||||
|
|
||||||
|
void AccessibilityCheckLevel::hide(size_t nGroupIndex) { m_xExpanders[nGroupIndex]->hide(); }
|
||||||
|
|
||||||
|
std::unique_ptr<PanelLayout> A11yCheckIssuesPanel::Create(weld::Widget* pParent,
|
||||||
|
SfxBindings* pBindings)
|
||||||
|
{
|
||||||
|
if (pParent == nullptr)
|
||||||
|
throw css::lang::IllegalArgumentException(
|
||||||
|
u"no parent window given to A11yCheckIssuesPanel::Create"_ustr, nullptr, 0);
|
||||||
|
return std::make_unique<A11yCheckIssuesPanel>(pParent, pBindings);
|
||||||
|
}
|
||||||
|
|
||||||
|
A11yCheckIssuesPanel::A11yCheckIssuesPanel(weld::Widget* pParent, SfxBindings* pBindings)
|
||||||
|
: PanelLayout(pParent, u"A11yCheckIssuesPanel"_ustr,
|
||||||
|
u"modules/swriter/ui/a11ycheckissuespanel.ui"_ustr)
|
||||||
|
, m_xOptionsButton(m_xBuilder->weld_button(u"bOptions"_ustr))
|
||||||
|
, mxUpdateBox(m_xBuilder->weld_box(u"updateBox"_ustr))
|
||||||
|
, mxUpdateLinkButton(m_xBuilder->weld_link_button(u"updateLinkButton"_ustr))
|
||||||
|
, m_xListSep(m_xBuilder->weld_widget(u"sep_level"_ustr))
|
||||||
|
, mpBindings(pBindings)
|
||||||
|
, mpDoc(nullptr)
|
||||||
|
, maA11yCheckController(FN_STAT_ACCESSIBILITY_CHECK, *pBindings, *this)
|
||||||
|
, mnIssueCount(0)
|
||||||
|
, mbAutomaticCheckEnabled(false)
|
||||||
|
{
|
||||||
|
// errors
|
||||||
|
m_xLevelExpanders[0] = m_xBuilder->weld_expander(u"expand_errors"_ustr);
|
||||||
|
mxAccessibilityBox[0] = m_xBuilder->weld_box(u"accessibilityBoxErr"_ustr);
|
||||||
|
m_aLevelEntries[0] = std::make_unique<AccessibilityCheckLevel>(mxAccessibilityBox[0].get());
|
||||||
|
|
||||||
|
// warnings
|
||||||
|
m_xLevelExpanders[1] = m_xBuilder->weld_expander(u"expand_warnings"_ustr);
|
||||||
|
mxAccessibilityBox[1] = m_xBuilder->weld_box(u"accessibilityBoxWrn"_ustr);
|
||||||
|
m_aLevelEntries[1] = std::make_unique<AccessibilityCheckLevel>(mxAccessibilityBox[1].get());
|
||||||
|
|
||||||
mxUpdateLinkButton->connect_activate_link(
|
mxUpdateLinkButton->connect_activate_link(
|
||||||
LINK(this, A11yCheckIssuesPanel, UpdateLinkButtonClicked));
|
LINK(this, A11yCheckIssuesPanel, UpdateLinkButtonClicked));
|
||||||
|
@ -171,12 +230,14 @@ A11yCheckIssuesPanel::A11yCheckIssuesPanel(weld::Widget* pParent, SfxBindings* p
|
||||||
// In desktop don't show the update button and schedule to run the accessibility check async
|
// In desktop don't show the update button and schedule to run the accessibility check async
|
||||||
if (comphelper::LibreOfficeKit::isActive())
|
if (comphelper::LibreOfficeKit::isActive())
|
||||||
{
|
{
|
||||||
mxAccessibilityBox->hide();
|
m_xLevelExpanders[0]->hide();
|
||||||
|
m_xLevelExpanders[1]->hide();
|
||||||
mxUpdateBox->show();
|
mxUpdateBox->show();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mxAccessibilityBox->show();
|
m_xLevelExpanders[0]->show();
|
||||||
|
m_xLevelExpanders[1]->show();
|
||||||
mxUpdateBox->hide();
|
mxUpdateBox->hide();
|
||||||
Application::PostUserEvent(LINK(this, A11yCheckIssuesPanel, PopulateIssuesHdl));
|
Application::PostUserEvent(LINK(this, A11yCheckIssuesPanel, PopulateIssuesHdl));
|
||||||
}
|
}
|
||||||
|
@ -191,7 +252,8 @@ IMPL_LINK_NOARG(A11yCheckIssuesPanel, OptionsButtonClicked, weld::Button&, void)
|
||||||
|
|
||||||
IMPL_LINK_NOARG(A11yCheckIssuesPanel, UpdateLinkButtonClicked, weld::LinkButton&, bool)
|
IMPL_LINK_NOARG(A11yCheckIssuesPanel, UpdateLinkButtonClicked, weld::LinkButton&, bool)
|
||||||
{
|
{
|
||||||
mxAccessibilityBox->show();
|
m_xLevelExpanders[0]->show();
|
||||||
|
m_xLevelExpanders[1]->show();
|
||||||
mxUpdateBox->hide();
|
mxUpdateBox->hide();
|
||||||
Application::PostUserEvent(LINK(this, A11yCheckIssuesPanel, PopulateIssuesHdl));
|
Application::PostUserEvent(LINK(this, A11yCheckIssuesPanel, PopulateIssuesHdl));
|
||||||
return true;
|
return true;
|
||||||
|
@ -211,44 +273,41 @@ void A11yCheckIssuesPanel::ImplDestroy()
|
||||||
mpBindings->Invalidate(SID_ACCESSIBILITY_CHECK_ONLINE);
|
mpBindings->Invalidate(SID_ACCESSIBILITY_CHECK_ONLINE);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (auto& xExpander : m_xExpanders)
|
for (auto& aLevelEntry : m_aLevelEntries)
|
||||||
xExpander.reset();
|
{
|
||||||
|
aLevelEntry->reset();
|
||||||
for (auto& xBox : m_xBoxes)
|
aLevelEntry.reset();
|
||||||
xBox.reset();
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
A11yCheckIssuesPanel::~A11yCheckIssuesPanel() { suppress_fun_call_w_exception(ImplDestroy()); }
|
A11yCheckIssuesPanel::~A11yCheckIssuesPanel() { suppress_fun_call_w_exception(ImplDestroy()); }
|
||||||
|
|
||||||
void A11yCheckIssuesPanel::removeAllEntries()
|
void A11yCheckIssuesPanel::removeAllEntries()
|
||||||
{
|
{
|
||||||
for (auto eGroup : o3tl::enumrange<AccessibilityCheckGroups>())
|
for (auto& aLevelEntry : m_aLevelEntries)
|
||||||
{
|
{
|
||||||
auto nGroupIndex = size_t(eGroup);
|
aLevelEntry->removeAllEntries();
|
||||||
for (auto const& xEntry : m_aEntries[nGroupIndex])
|
|
||||||
m_xBoxes[nGroupIndex]->move(xEntry->get_widget(), nullptr);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void A11yCheckIssuesPanel::addEntryForGroup(AccessibilityCheckGroups eGroup,
|
void A11yCheckIssuesPanel::addEntryForGroup(AccessibilityCheckGroups eGroup,
|
||||||
std::vector<sal_Int32>& rIndices,
|
std::vector<std::vector<sal_Int32>>& rIndices,
|
||||||
std::shared_ptr<sfx::AccessibilityIssue> const& pIssue)
|
std::shared_ptr<sfx::AccessibilityIssue> const& pIssue)
|
||||||
{
|
{
|
||||||
auto nGroupIndex = size_t(eGroup);
|
|
||||||
// prevent the UI locking up forever, this is effectively an O(n^2) situation, given the way the UI additions work
|
// prevent the UI locking up forever, this is effectively an O(n^2) situation, given the way the UI additions work
|
||||||
if (m_aEntries[nGroupIndex].size() > 500)
|
if (m_aLevelEntries[0]->getEntrySize(eGroup) + m_aLevelEntries[1]->getEntrySize(eGroup) > 500)
|
||||||
{
|
{
|
||||||
SAL_WARN("sw", "too many a11y issues, not adding to panel");
|
SAL_WARN("sw", "too many a11y issues, not adding to panel");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
auto xEntry = std::make_unique<AccessibilityCheckEntry>(m_xBoxes[nGroupIndex].get(), pIssue);
|
|
||||||
m_xBoxes[nGroupIndex]->reorder_child(xEntry->get_widget(), rIndices[nGroupIndex]++);
|
size_t nLevel = static_cast<size_t>(pIssue->m_eIssueLvl);
|
||||||
m_aEntries[nGroupIndex].push_back(std::move(xEntry));
|
m_aLevelEntries[nLevel]->addEntryForGroup(eGroup, rIndices[nLevel], pIssue);
|
||||||
}
|
}
|
||||||
|
|
||||||
void A11yCheckIssuesPanel::populateIssues()
|
void A11yCheckIssuesPanel::populateIssues()
|
||||||
{
|
{
|
||||||
if (!mpDoc || !mxAccessibilityBox->is_visible())
|
if (!mpDoc || !(m_xLevelExpanders[0]->is_visible() || m_xLevelExpanders[1]->is_visible()))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
SfxViewShell* pViewShell = SfxViewShell::Current();
|
SfxViewShell* pViewShell = SfxViewShell::Current();
|
||||||
|
@ -263,7 +322,7 @@ void A11yCheckIssuesPanel::populateIssues()
|
||||||
|
|
||||||
removeAllEntries();
|
removeAllEntries();
|
||||||
|
|
||||||
std::vector<sal_Int32> nIndices(11, 0);
|
std::vector<std::vector<sal_Int32>> nIndices(2, std::vector<sal_Int32>(11, 0));
|
||||||
sal_Int32 nDirectFormats = 0;
|
sal_Int32 nDirectFormats = 0;
|
||||||
|
|
||||||
for (std::shared_ptr<sfx::AccessibilityIssue> const& pIssue : m_aIssueCollection.getIssues())
|
for (std::shared_ptr<sfx::AccessibilityIssue> const& pIssue : m_aIssueCollection.getIssues())
|
||||||
|
@ -368,23 +427,43 @@ void A11yCheckIssuesPanel::populateIssues()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// add DirectFormats (if have) as last element to Formatting AccessibilityCheckGroup
|
// add DirectFormats (if have) as last element to Formatting AccessibilityCheckGroup on the Warning level
|
||||||
if (nDirectFormats > 0)
|
if (nDirectFormats > 0)
|
||||||
{
|
{
|
||||||
size_t nGroupFormatIndex = size_t(AccessibilityCheckGroups::Formatting);
|
size_t nGroupFormatIndex = size_t(AccessibilityCheckGroups::Formatting);
|
||||||
nIndices[nGroupFormatIndex]++;
|
// Direct Formats are on the warning level
|
||||||
|
size_t nLevel = static_cast<size_t>(sfx::AccessibilityIssueLevel::WARNLEV);
|
||||||
|
nIndices[nLevel][nGroupFormatIndex]++;
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t nGroupIndex = 0;
|
for (auto eLevel : o3tl::enumrange<sfx::AccessibilityIssueLevel>())
|
||||||
for (sal_Int32 nIndex : nIndices)
|
|
||||||
{
|
{
|
||||||
if (nIndex > 0)
|
size_t nGroupIndex = 0;
|
||||||
m_xExpanders[nGroupIndex]->show();
|
auto nLevelIndex = size_t(eLevel);
|
||||||
|
bool bHaveIssue = false;
|
||||||
|
for (sal_Int32 nIndex : nIndices[nLevelIndex])
|
||||||
|
{
|
||||||
|
if (nIndex > 0)
|
||||||
|
{
|
||||||
|
m_aLevelEntries[nLevelIndex]->show(nGroupIndex);
|
||||||
|
if (!bHaveIssue)
|
||||||
|
bHaveIssue = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
m_aLevelEntries[nLevelIndex]->hide(nGroupIndex);
|
||||||
|
nGroupIndex++;
|
||||||
|
}
|
||||||
|
if (!bHaveIssue)
|
||||||
|
m_xLevelExpanders[nLevelIndex]->hide();
|
||||||
else
|
else
|
||||||
m_xExpanders[nGroupIndex]->hide();
|
m_xLevelExpanders[nLevelIndex]->show();
|
||||||
nGroupIndex++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (m_xLevelExpanders[0]->is_visible() && m_xLevelExpanders[1]->is_visible())
|
||||||
|
m_xListSep->set_visible(true);
|
||||||
|
else
|
||||||
|
m_xListSep->set_visible(false);
|
||||||
|
|
||||||
if (pWindow)
|
if (pWindow)
|
||||||
pWindow->SetPointer(PointerStyle::Arrow);
|
pWindow->SetPointer(PointerStyle::Arrow);
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,6 +59,29 @@ enum class AccessibilityCheckGroups : size_t
|
||||||
LAST = Other
|
LAST = Other
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class AccessibilityCheckLevel
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
std::unique_ptr<weld::Builder> m_xBuilder;
|
||||||
|
std::unique_ptr<weld::Box> m_xContainer;
|
||||||
|
std::array<std::vector<std::unique_ptr<AccessibilityCheckEntry>>, 11> m_aEntries;
|
||||||
|
std::array<std::unique_ptr<weld::Expander>, 11> m_xExpanders;
|
||||||
|
std::array<std::unique_ptr<weld::Box>, 11> m_xBoxes;
|
||||||
|
|
||||||
|
public:
|
||||||
|
AccessibilityCheckLevel(weld::Box* pParent);
|
||||||
|
|
||||||
|
void removeAllEntries();
|
||||||
|
void reset();
|
||||||
|
|
||||||
|
void addEntryForGroup(AccessibilityCheckGroups eGroup, std::vector<sal_Int32>& rIndices,
|
||||||
|
std::shared_ptr<sfx::AccessibilityIssue> const& pIssue);
|
||||||
|
size_t getEntrySize(AccessibilityCheckGroups eGroup) const;
|
||||||
|
|
||||||
|
void show(size_t nGroupIndex);
|
||||||
|
void hide(size_t nGroupIndex);
|
||||||
|
};
|
||||||
|
|
||||||
class A11yCheckIssuesPanel : public PanelLayout,
|
class A11yCheckIssuesPanel : public PanelLayout,
|
||||||
public ::sfx2::sidebar::ControllerItem::ItemUpdateReceiverInterface
|
public ::sfx2::sidebar::ControllerItem::ItemUpdateReceiverInterface
|
||||||
{
|
{
|
||||||
|
@ -76,13 +99,13 @@ public:
|
||||||
virtual ~A11yCheckIssuesPanel() override;
|
virtual ~A11yCheckIssuesPanel() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::array<std::vector<std::unique_ptr<AccessibilityCheckEntry>>, 11> m_aEntries;
|
|
||||||
std::array<std::unique_ptr<weld::Expander>, 11> m_xExpanders;
|
|
||||||
std::array<std::unique_ptr<weld::Box>, 11> m_xBoxes;
|
|
||||||
std::unique_ptr<weld::Button> m_xOptionsButton;
|
std::unique_ptr<weld::Button> m_xOptionsButton;
|
||||||
std::unique_ptr<weld::Box> mxAccessibilityBox;
|
std::array<std::unique_ptr<weld::Expander>, 2> m_xLevelExpanders;
|
||||||
|
std::array<std::unique_ptr<weld::Box>, 2> mxAccessibilityBox;
|
||||||
|
std::array<std::unique_ptr<AccessibilityCheckLevel>, 2> m_aLevelEntries;
|
||||||
std::unique_ptr<weld::Box> mxUpdateBox;
|
std::unique_ptr<weld::Box> mxUpdateBox;
|
||||||
std::unique_ptr<weld::LinkButton> mxUpdateLinkButton;
|
std::unique_ptr<weld::LinkButton> mxUpdateLinkButton;
|
||||||
|
std::unique_ptr<weld::Widget> m_xListSep;
|
||||||
|
|
||||||
sfx::AccessibilityIssueCollection m_aIssueCollection;
|
sfx::AccessibilityIssueCollection m_aIssueCollection;
|
||||||
void removeAllEntries();
|
void removeAllEntries();
|
||||||
|
@ -92,7 +115,8 @@ private:
|
||||||
DECL_LINK(UpdateLinkButtonClicked, weld::LinkButton&, bool);
|
DECL_LINK(UpdateLinkButtonClicked, weld::LinkButton&, bool);
|
||||||
DECL_LINK(PopulateIssuesHdl, void*, void);
|
DECL_LINK(PopulateIssuesHdl, void*, void);
|
||||||
|
|
||||||
void addEntryForGroup(AccessibilityCheckGroups eGroup, std::vector<sal_Int32>& rIndices,
|
void addEntryForGroup(AccessibilityCheckGroups eGroup,
|
||||||
|
std::vector<std::vector<sal_Int32>>& rIndices,
|
||||||
std::shared_ptr<sfx::AccessibilityIssue> const& pIssue);
|
std::shared_ptr<sfx::AccessibilityIssue> const& pIssue);
|
||||||
|
|
||||||
SfxBindings* GetBindings() { return mpBindings; }
|
SfxBindings* GetBindings() { return mpBindings; }
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
<property name="hexpand">True</property>
|
<property name="hexpand">True</property>
|
||||||
<property name="vexpand">True</property>
|
<property name="vexpand">True</property>
|
||||||
<property name="orientation">vertical</property>
|
<property name="orientation">vertical</property>
|
||||||
|
<property name="spacing">3</property>
|
||||||
<child>
|
<child>
|
||||||
<!-- n-columns=2 n-rows=1 -->
|
<!-- n-columns=2 n-rows=1 -->
|
||||||
<object class="GtkGrid" id="gridOptions">
|
<object class="GtkGrid" id="gridOptions">
|
||||||
|
@ -20,7 +21,7 @@
|
||||||
<property name="can-focus">False</property>
|
<property name="can-focus">False</property>
|
||||||
<property name="halign">start</property>
|
<property name="halign">start</property>
|
||||||
<property name="hexpand">True</property>
|
<property name="hexpand">True</property>
|
||||||
<property name="label" translatable="yes" context="optsecuritypage|lbOptions">Adjust accessibility check options</property>
|
<property name="label" translatable="yes" context="a11ycheckissuespanel|lbOptions">Adjust accessibility check options</property>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="left-attach">0</property>
|
<property name="left-attach">0</property>
|
||||||
|
@ -67,334 +68,28 @@
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkBox" id="accessibilityCheckBox">
|
<object class="GtkExpander" id="expand_errors">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can-focus">False</property>
|
<property name="can-focus">True</property>
|
||||||
<property name="valign">start</property>
|
<property name="expanded">True</property>
|
||||||
<property name="hexpand">True</property>
|
|
||||||
<property name="vexpand">True</property>
|
|
||||||
<property name="orientation">vertical</property>
|
|
||||||
<property name="spacing">6</property>
|
|
||||||
<property name="baseline-position">top</property>
|
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkExpander" id="expand_document">
|
<object class="GtkBox" id="accessibilityBoxErr">
|
||||||
<property name="can-focus">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="expanded">True</property>
|
<property name="can-focus">False</property>
|
||||||
|
<property name="margin-start">6</property>
|
||||||
|
<property name="margin-top">6</property>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkBox" id="box_document">
|
<placeholder/>
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can-focus">False</property>
|
|
||||||
<property name="margin-start">6</property>
|
|
||||||
<property name="orientation">vertical</property>
|
|
||||||
<child>
|
|
||||||
<placeholder/>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child type="label">
|
|
||||||
<object class="GtkLabel" id="expand_document_label">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can-focus">False</property>
|
|
||||||
<property name="label" translatable="yes" context="a11ycheckissuespanel|expand_document_label">Document</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">0</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child type="label">
|
||||||
<object class="GtkExpander" id="expand_styles">
|
<object class="GtkLabel" id="expand_errors_label">
|
||||||
<property name="can-focus">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="expanded">True</property>
|
<property name="can-focus">False</property>
|
||||||
<child>
|
<property name="label" translatable="yes" context="a11ycheckissuespanel|expand_errors_label">Accessibility errors</property>
|
||||||
<object class="GtkBox" id="box_styles">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can-focus">False</property>
|
|
||||||
<property name="margin-start">6</property>
|
|
||||||
<property name="orientation">vertical</property>
|
|
||||||
<child>
|
|
||||||
<placeholder/>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child type="label">
|
|
||||||
<object class="GtkLabel" id="expand_styles_label">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can-focus">False</property>
|
|
||||||
<property name="label" translatable="yes" context="a11ycheckissuespanel|expand_styles_label">Styles</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">1</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkExpander" id="expand_linked">
|
|
||||||
<property name="can-focus">True</property>
|
|
||||||
<property name="expanded">True</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkBox" id="box_linked">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can-focus">False</property>
|
|
||||||
<property name="margin-start">6</property>
|
|
||||||
<property name="hexpand">True</property>
|
|
||||||
<property name="orientation">vertical</property>
|
|
||||||
<child>
|
|
||||||
<placeholder/>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child type="label">
|
|
||||||
<object class="GtkLabel" id="expand_linked_label">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can-focus">False</property>
|
|
||||||
<property name="label" translatable="yes" context="a11ycheckissuespanel|expand_linked_label">Missing linked graphic</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">2</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkExpander" id="expand_no_alt">
|
|
||||||
<property name="can-focus">True</property>
|
|
||||||
<property name="expanded">True</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkBox" id="box_no_alt">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can-focus">False</property>
|
|
||||||
<property name="margin-start">6</property>
|
|
||||||
<property name="hexpand">True</property>
|
|
||||||
<property name="orientation">vertical</property>
|
|
||||||
<child>
|
|
||||||
<placeholder/>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child type="label">
|
|
||||||
<object class="GtkLabel" id="expand_no_alt_label">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can-focus">False</property>
|
|
||||||
<property name="label" translatable="yes" context="a11ycheckissuespanel|expand_no_alt_label">Missing alternative or description text</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">3</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkExpander" id="expand_table">
|
|
||||||
<property name="can-focus">True</property>
|
|
||||||
<property name="expanded">True</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkBox" id="box_table">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can-focus">False</property>
|
|
||||||
<property name="margin-start">6</property>
|
|
||||||
<property name="orientation">vertical</property>
|
|
||||||
<child>
|
|
||||||
<placeholder/>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child type="label">
|
|
||||||
<object class="GtkLabel" id="expand_table_label">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can-focus">False</property>
|
|
||||||
<property name="label" translatable="yes" context="a11ycheckissuespanel|expand_table_label">Table</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">4</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkExpander" id="expand_formatting">
|
|
||||||
<property name="can-focus">True</property>
|
|
||||||
<property name="expanded">True</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkBox" id="box_formatting">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can-focus">False</property>
|
|
||||||
<property name="margin-start">6</property>
|
|
||||||
<property name="orientation">vertical</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkExpander" id="expand_direct_formatting">
|
|
||||||
<property name="can-focus">True</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkBox" id="box_direct_formatting">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can-focus">False</property>
|
|
||||||
<property name="margin-start">6</property>
|
|
||||||
<property name="orientation">vertical</property>
|
|
||||||
<child>
|
|
||||||
<placeholder/>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child type="label">
|
|
||||||
<object class="GtkLabel" id="expand_direct_formatting_label">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can-focus">False</property>
|
|
||||||
<property name="label" translatable="yes" context="a11ycheckissuespanel|expand_formatting_label">Direct Formatting</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">0</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<placeholder/>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child type="label">
|
|
||||||
<object class="GtkLabel" id="expand_formatting_label">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can-focus">False</property>
|
|
||||||
<property name="label" translatable="yes" context="a11ycheckissuespanel|expand_formatting_label">Formatting</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">5</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkExpander" id="expand_hyperlink">
|
|
||||||
<property name="can-focus">True</property>
|
|
||||||
<property name="expanded">True</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkBox" id="box_hyperlink">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can-focus">False</property>
|
|
||||||
<property name="margin-start">6</property>
|
|
||||||
<property name="orientation">vertical</property>
|
|
||||||
<child>
|
|
||||||
<placeholder/>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child type="label">
|
|
||||||
<object class="GtkLabel" id="expand_hyperlink_label">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can-focus">False</property>
|
|
||||||
<property name="label" translatable="yes" context="a11ycheckissuespanel|expand_hyperlink_label">Hyperlink</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">7</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkExpander" id="expand_fakes">
|
|
||||||
<property name="can-focus">True</property>
|
|
||||||
<property name="expanded">True</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkBox" id="box_fakes">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can-focus">False</property>
|
|
||||||
<property name="margin-start">6</property>
|
|
||||||
<property name="orientation">vertical</property>
|
|
||||||
<child>
|
|
||||||
<placeholder/>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child type="label">
|
|
||||||
<object class="GtkLabel" id="expand_fakes_label">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can-focus">False</property>
|
|
||||||
<property name="label" translatable="yes" context="a11ycheckissuespanel|expand_fakes_label">Simulated captions</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">8</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkExpander" id="expand_numbering">
|
|
||||||
<property name="can-focus">True</property>
|
|
||||||
<property name="expanded">True</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkBox" id="box_numbering">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can-focus">False</property>
|
|
||||||
<property name="margin-start">6</property>
|
|
||||||
<property name="orientation">vertical</property>
|
|
||||||
<child>
|
|
||||||
<placeholder/>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child type="label">
|
|
||||||
<object class="GtkLabel" id="expand_numbering_label">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can-focus">False</property>
|
|
||||||
<property name="label" translatable="yes" context="a11ycheckissuespanel|expand_numbering_label">Numbering</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">9</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<object class="GtkExpander" id="expand_other">
|
|
||||||
<property name="can-focus">True</property>
|
|
||||||
<property name="expanded">True</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkBox" id="box_other">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can-focus">False</property>
|
|
||||||
<property name="margin-start">6</property>
|
|
||||||
<property name="orientation">vertical</property>
|
|
||||||
<child>
|
|
||||||
<placeholder/>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
<child type="label">
|
|
||||||
<object class="GtkLabel" id="expand_other_label">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can-focus">False</property>
|
|
||||||
<property name="label" translatable="yes" context="a11ycheckissuespanel|expand_other_label">Other</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
<packing>
|
|
||||||
<property name="expand">False</property>
|
|
||||||
<property name="fill">True</property>
|
|
||||||
<property name="position">10</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
<packing>
|
<packing>
|
||||||
|
@ -403,6 +98,47 @@
|
||||||
<property name="position">2</property>
|
<property name="position">2</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkSeparator" id="sep_level">
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">3</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<object class="GtkExpander" id="expand_warnings">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">True</property>
|
||||||
|
<property name="expanded">True</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkBox" id="accessibilityBoxWrn">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="margin-start">6</property>
|
||||||
|
<property name="margin-top">6</property>
|
||||||
|
<property name="orientation">vertical</property>
|
||||||
|
<child>
|
||||||
|
<placeholder/>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
<child type="label">
|
||||||
|
<object class="GtkLabel" id="expand_warns_lb">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can-focus">False</property>
|
||||||
|
<property name="label" translatable="yes" context="a11ycheckissuespanel|expand_warns_lb">Accessibility warnings</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">True</property>
|
||||||
|
<property name="position">4</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkBox" id="updateBox">
|
<object class="GtkBox" id="updateBox">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
|
@ -426,7 +162,7 @@
|
||||||
<packing>
|
<packing>
|
||||||
<property name="expand">False</property>
|
<property name="expand">False</property>
|
||||||
<property name="fill">True</property>
|
<property name="fill">True</property>
|
||||||
<property name="position">3</property>
|
<property name="position">5</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
</object>
|
</object>
|
||||||
|
|
|
@ -255,6 +255,7 @@ bool isBuilderEnabled(std::u16string_view rUIFile, bool bMobile)
|
||||||
|| rUIFile == u"svx/ui/acceptrejectchangesdialog.ui"
|
|| rUIFile == u"svx/ui/acceptrejectchangesdialog.ui"
|
||||||
|| rUIFile == u"svx/ui/accessibilitycheckdialog.ui"
|
|| rUIFile == u"svx/ui/accessibilitycheckdialog.ui"
|
||||||
|| rUIFile == u"svx/ui/accessibilitycheckentry.ui"
|
|| rUIFile == u"svx/ui/accessibilitycheckentry.ui"
|
||||||
|
|| rUIFile == u"svx/ui/accessibilitychecklevel.ui"
|
||||||
|| rUIFile == u"svx/ui/compressgraphicdialog.ui"
|
|| rUIFile == u"svx/ui/compressgraphicdialog.ui"
|
||||||
|| rUIFile == u"svx/ui/findreplacedialog.ui"
|
|| rUIFile == u"svx/ui/findreplacedialog.ui"
|
||||||
|| rUIFile == u"svx/ui/fontworkgallerydialog.ui"
|
|| rUIFile == u"svx/ui/fontworkgallerydialog.ui"
|
||||||
|
|
Loading…
Reference in a new issue