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);
