include/sfx2/AccessibilityIssue.hxx|6 +++
sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx | 20 -
sw/qa/core/accessibilitycheck/data/AccessibilityTests1.odt |binary
sw/source/core/access/AccessibilityCheck.cxx | 11 ---
4 files changed, 31 insertions(+), 6 deletions(-)
New commits:
commit 912cd707b5128c5ef9d365d8179cf2b65aeaaa1d
Author: Tomaž Vajngerl
AuthorDate: Thu Jan 9 11:34:11 2020 +0100
Commit: Tomaž Vajngerl
CommitDate: Thu Jan 9 17:05:25 2020 +0100
tdf#45636: test for no-alt and table split/merge access. check
Change-Id: I6474b5e0db90143efa1ea066142961c2fe250ae6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86492
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl
diff --git a/include/sfx2/AccessibilityIssue.hxx
b/include/sfx2/AccessibilityIssue.hxx
index 250594e769af..8e0d85cdd7ae 100644
--- a/include/sfx2/AccessibilityIssue.hxx
+++ b/include/sfx2/AccessibilityIssue.hxx
@@ -23,7 +23,11 @@ enum class AccessibilityIssueID
UNSPECIFIED, // TODO: remove - temporary
DOCUMENT_TITLE,
DOCUMENT_LANGUAGE,
-STYLE_LANGUAGE
+STYLE_LANGUAGE,
+NO_ALT_OLE,
+NO_ALT_GRAPHIC,
+NO_ALT_SHAPE,
+TABLE_MERGE_SPLIT,
};
class SFX2_DLLPUBLIC AccessibilityIssue
diff --git a/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx
b/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx
index 7360ccd1d862..61902aabc459 100644
--- a/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx
+++ b/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx
@@ -23,7 +23,7 @@ public:
}
};
-CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheck)
+CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckDocumentIssues)
{
SwDoc* pDoc = createDoc("DocumentTest.odt");
CPPUNIT_ASSERT(pDoc);
@@ -35,6 +35,24 @@ CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheck)
CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DOCUMENT_TITLE,
aIssues[1]->m_eIssueID);
}
+CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testTableSplitMergeAndAltText)
+{
+SwDoc* pDoc = createDoc("AccessibilityTests1.odt");
+CPPUNIT_ASSERT(pDoc);
+sw::AccessibilityCheck aCheck(pDoc);
+aCheck.check();
+auto& aIssues = aCheck.getIssueCollecton().getIssues();
+CPPUNIT_ASSERT_EQUAL(size_t(7), aIssues.size());
+
+CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::NO_ALT_GRAPHIC,
aIssues[0]->m_eIssueID);
+CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::NO_ALT_OLE,
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[3]->m_eIssueID);
+CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TABLE_MERGE_SPLIT,
aIssues[4]->m_eIssueID);
+CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TABLE_MERGE_SPLIT,
aIssues[5]->m_eIssueID);
+CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::NO_ALT_SHAPE,
aIssues[6]->m_eIssueID);
+}
+
CPPUNIT_PLUGIN_IMPLEMENT();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/qa/core/accessibilitycheck/data/AccessibilityTests1.odt
b/sw/qa/core/accessibilitycheck/data/AccessibilityTests1.odt
new file mode 100644
index ..2e319f58e7a2
Binary files /dev/null and
b/sw/qa/core/accessibilitycheck/data/AccessibilityTests1.odt differ
diff --git a/sw/source/core/access/AccessibilityCheck.cxx
b/sw/source/core/access/AccessibilityCheck.cxx
index 06a90e98ac4c..aaeacae84bac 100644
--- a/sw/source/core/access/AccessibilityCheck.cxx
+++ b/sw/source/core/access/AccessibilityCheck.cxx
@@ -83,16 +83,18 @@ class NoTextNodeAltTextCheck : public NodeCheck
OUString sIssueText =
SwResId(STR_NO_ALT).replaceAll("%OBJECT_NAME%", sName);
-auto pIssue = lclAddIssue(m_rIssueCollection, sIssueText);
-
if (pNoTextNode->IsOLENode())
{
+auto pIssue = lclAddIssue(m_rIssueCollection, sIssueText,
+
sfx::AccessibilityIssueID::NO_ALT_OLE);
pIssue->setDoc(pNoTextNode->GetDoc());
pIssue->setIssueObject(IssueObject::OLE);
pIssue->setObjectID(pNoTextNode->GetFlyFormat()->GetName());
}
else if (pNoTextNode->IsGrfNode())
{
+auto pIssue = lclAddIssue(m_rIssueCollection, sIssueText,
+
sfx::AccessibilityIssueID::NO_ALT_GRAPHIC);
pIssue->setDoc(pNoTextNode->GetDoc());
pIssue->setIssueObject(IssueObject::GRAPHIC);
pIssue->setObjectID(pNoTextNode->GetFlyFormat()->GetName());
@@ -126,7 +128,8 @@ private:
const SwTableFormat* pFormat = rTable.GetFrameFormat();
OUString sName = pFormat->GetName();
OUString sIssueText =
SwResId(STR_TABLE_MERGE_SPLIT).replaceAll("%OBJECT_NAME%",