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 <tomaz.vajng...@collabora.co.uk> AuthorDate: Thu Jan 9 11:34:11 2020 +0100 Commit: Tomaž Vajngerl <qui...@gmail.com> 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 <qui...@gmail.com> 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 000000000000..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%", sName); - auto pIssue = lclAddIssue(m_rIssueCollection, sIssueText); + auto pIssue = lclAddIssue(m_rIssueCollection, sIssueText, + sfx::AccessibilityIssueID::TABLE_MERGE_SPLIT); pIssue->setDoc(pDoc); pIssue->setIssueObject(IssueObject::TABLE); pIssue->setObjectID(sName); @@ -617,7 +620,7 @@ void AccessibilityCheck::checkObject(SdrObject* pObject) { OUString sName = pObject->GetName(); OUString sIssueText = SwResId(STR_NO_ALT).replaceAll("%OBJECT_NAME%", sName); - lclAddIssue(m_aIssueCollection, sIssueText); + lclAddIssue(m_aIssueCollection, sIssueText, sfx::AccessibilityIssueID::NO_ALT_SHAPE); } } } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits