[Libreoffice-commits] core.git: include/sfx2 sw/qa sw/source

Tomaž Vajngerl (via logerrit) logerrit at kemper.freedesktop.org
Thu Jan 9 16:05:59 UTC 2020


 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.vajngerl at collabora.co.uk>
AuthorDate: Thu Jan 9 11:34:11 2020 +0100
Commit:     Tomaž Vajngerl <quikee at 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 <quikee at 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);
         }
     }
 }


More information about the Libreoffice-commits mailing list