sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx   |   22 +++++++------
 sw/qa/core/accessibilitycheck/data/AccessibilityTests1.odt |binary
 sw/source/core/access/AccessibilityCheck.cxx               |   10 +----
 3 files changed, 16 insertions(+), 16 deletions(-)

New commits:
commit 8a5172f61d703e9ab28329466e3d42a0adb4e987
Author:     Balazs Varga <[email protected]>
AuthorDate: Thu Jun 12 12:47:06 2025 +0200
Commit:     Balazs Varga <[email protected]>
CommitDate: Mon Jun 16 08:56:54 2025 +0200

    tdf#166970 sw a11y fix missing no_alt warnings from sidebar
    
    Not all kind of shape objects were checked for "No alt text",
    but only a few one. Let's extend it with the other possible
    shape types in this patch.
    
    Change-Id: Id3bcf4992fc8f281ee4a32c569cba3590ae6c002
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186413
    Tested-by: Jenkins
    Reviewed-by: Balazs Varga <[email protected]>

diff --git a/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx 
b/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx
index b2a8aae20e2f..d8093e57a4e8 100644
--- a/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx
+++ b/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx
@@ -47,7 +47,7 @@ CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, 
testTableSplitMergeAndAltText)
     sw::AccessibilityCheck aCheck(pDoc);
     aCheck.check();
     auto& aIssues = aCheck.getIssueCollection().getIssues();
-    CPPUNIT_ASSERT_EQUAL(size_t(6), aIssues.size());
+    CPPUNIT_ASSERT_EQUAL(size_t(7), aIssues.size());
 
     CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::NO_ALT_GRAPHIC, 
aIssues[0]->m_eIssueID);
     CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueLevel::ERRORLEV, 
aIssues[0]->m_eIssueLvl);
@@ -58,6 +58,8 @@ CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, 
testTableSplitMergeAndAltText)
     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::AccessibilityIssueLevel::ERRORLEV, 
aIssues[5]->m_eIssueLvl);
+    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::NO_ALT_SHAPE, 
aIssues[6]->m_eIssueID);
+    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueLevel::ERRORLEV, 
aIssues[6]->m_eIssueLvl);
 }
 
 CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckParagraphIssues)
@@ -249,17 +251,19 @@ CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, 
testCheckTabsFormatting)
     sw::AccessibilityCheck aCheck(pDoc);
     aCheck.check();
     auto& aIssues = aCheck.getIssueCollection().getIssues();
-    CPPUNIT_ASSERT_EQUAL(size_t(10), aIssues.size());
+    CPPUNIT_ASSERT_EQUAL(size_t(20), aIssues.size());
     CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_TABS, 
aIssues[0]->m_eIssueID);
-    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, 
aIssues[1]->m_eIssueID);
-    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_TABS, 
aIssues[2]->m_eIssueID);
-    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, 
aIssues[3]->m_eIssueID);
-    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_TABS, 
aIssues[4]->m_eIssueID);
-    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, 
aIssues[5]->m_eIssueID);
-    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_TABS, 
aIssues[6]->m_eIssueID);
+    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::NO_ALT_SHAPE, 
aIssues[1]->m_eIssueID);
+    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::NO_ALT_SHAPE, 
aIssues[2]->m_eIssueID);
     CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, 
aIssues[7]->m_eIssueID);
     CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_TABS, 
aIssues[8]->m_eIssueID);
-    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, 
aIssues[9]->m_eIssueID);
+    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, 
aIssues[10]->m_eIssueID);
+    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_TABS, 
aIssues[11]->m_eIssueID);
+    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, 
aIssues[13]->m_eIssueID);
+    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_TABS, 
aIssues[14]->m_eIssueID);
+    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, 
aIssues[17]->m_eIssueID);
+    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_TABS, 
aIssues[18]->m_eIssueID);
+    CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, 
aIssues[19]->m_eIssueID);
 }
 
 //tdf#156550 - Accessibility sidebar complains about TOC hyperlinks
diff --git a/sw/qa/core/accessibilitycheck/data/AccessibilityTests1.odt 
b/sw/qa/core/accessibilitycheck/data/AccessibilityTests1.odt
index e6dffec6225e..219e6d132881 100644
Binary files a/sw/qa/core/accessibilitycheck/data/AccessibilityTests1.odt 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 58e085ab5ce6..41d6783d36bd 100644
--- a/sw/source/core/access/AccessibilityCheck.cxx
+++ b/sw/source/core/access/AccessibilityCheck.cxx
@@ -2740,12 +2740,8 @@ void AccessibilityCheck::checkObject(SwNode* pCurrent, 
SwFrameFormat const& rFra
             pIssue->setNode(pCurrent);
     }
 
-    const SdrObjKind nObjId = pObject->GetObjIdentifier();
-    const SdrInventor nInv = pObject->GetObjInventor();
-
-    if (nObjId == SdrObjKind::CustomShape || nObjId == SdrObjKind::Text
-        || nObjId == SdrObjKind::Media || nObjId == SdrObjKind::Group
-        || nObjId == SdrObjKind::Graphic || nInv == SdrInventor::FmForm)
+    // Graphic, OLE for alt (title) text already checked in 
NoTextNodeAltTextCheck
+    if (pObject->GetObjIdentifier() != SdrObjKind::SwFlyDrawObjIdentifier)
     {
         if (!pObject->IsDecorative() && pObject->GetTitle().isEmpty()
             && pObject->GetDescription().isEmpty())
@@ -2756,7 +2752,7 @@ void AccessibilityCheck::checkObject(SwNode* pCurrent, 
SwFrameFormat const& rFra
                                       sfx::AccessibilityIssueID::NO_ALT_SHAPE,
                                       sfx::AccessibilityIssueLevel::ERRORLEV);
             // Set FORM Issue for Form objects because of the design mode
-            if (nInv == SdrInventor::FmForm)
+            if (pObject->GetObjInventor() == SdrInventor::FmForm)
                 pIssue->setIssueObject(IssueObject::FORM);
             else
                 pIssue->setIssueObject(IssueObject::SHAPE);

Reply via email to