sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx | 4 +++- sw/qa/core/accessibilitycheck/data/TabsTest.odt |binary sw/source/core/access/AccessibilityCheck.cxx | 11 +++++++++-- 3 files changed, 12 insertions(+), 3 deletions(-)
New commits: commit 629a20b97f186531d73d78ef8a02e5def35f22e1 Author: Balazs Varga <balazs.varga.ext...@allotropia.de> AuthorDate: Thu Jul 11 18:33:25 2024 +0200 Commit: Balazs Varga <balazs.varga.ext...@allotropia.de> CommitDate: Fri Jul 12 16:54:01 2024 +0200 tdf#159776 - A11Y sidebar: Fix no warning about multiple tabs used for creating spacing. Change-Id: I9a2725954406140efa27ccc3ae30f19d0bd1fa8a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170387 Reviewed-by: Balazs Varga <balazs.varga.ext...@allotropia.de> Tested-by: Jenkins diff --git a/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx b/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx index 77330b9a8157..43a872832ee0 100644 --- a/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx +++ b/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx @@ -219,7 +219,7 @@ CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckTabsFormatting) sw::AccessibilityCheck aCheck(pDoc); aCheck.check(); auto& aIssues = aCheck.getIssueCollection().getIssues(); - CPPUNIT_ASSERT_EQUAL(size_t(8), aIssues.size()); + CPPUNIT_ASSERT_EQUAL(size_t(10), aIssues.size()); CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_FORMATTING, aIssues[0]->m_eIssueID); CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, aIssues[1]->m_eIssueID); CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_FORMATTING, aIssues[2]->m_eIssueID); @@ -228,6 +228,8 @@ CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckTabsFormatting) CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, aIssues[5]->m_eIssueID); CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_FORMATTING, aIssues[6]->m_eIssueID); CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, aIssues[7]->m_eIssueID); + CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::TEXT_FORMATTING, aIssues[8]->m_eIssueID); + CPPUNIT_ASSERT_EQUAL(sfx::AccessibilityIssueID::DIRECT_FORMATTING, aIssues[9]->m_eIssueID); } //tdf#156550 - Accessibility sidebar complains about TOC hyperlinks diff --git a/sw/qa/core/accessibilitycheck/data/TabsTest.odt b/sw/qa/core/accessibilitycheck/data/TabsTest.odt index 29b415df87a7..d48a5a0155cf 100644 Binary files a/sw/qa/core/accessibilitycheck/data/TabsTest.odt and b/sw/qa/core/accessibilitycheck/data/TabsTest.odt differ diff --git a/sw/source/core/access/AccessibilityCheck.cxx b/sw/source/core/access/AccessibilityCheck.cxx index 723d20566f24..429b94a02efb 100644 --- a/sw/source/core/access/AccessibilityCheck.cxx +++ b/sw/source/core/access/AccessibilityCheck.cxx @@ -937,6 +937,7 @@ public: sal_Int32 nTabCount = 0; bool bNonSpaceFound = false; bool bPreviousWasChar = false; + bool bPreviousWasTab = false; for (sal_Int32 i = 0; i < nParagraphLength; i++) { switch (sParagraphText[i]) @@ -958,10 +959,15 @@ public: if (pSection && pSection->GetTOXBase()) continue; - if (bPreviousWasChar) + // text between tabs or text align at least with two tabs + if (bPreviousWasChar || bPreviousWasTab) { ++nTabCount; - bPreviousWasChar = false; + if (bPreviousWasChar) + { + bPreviousWasChar = false; + bPreviousWasTab = true; + } if (nTabCount == 2) { auto pIssue = lclAddIssue(m_rIssueCollection, @@ -993,6 +999,7 @@ public: } bNonSpaceFound = true; bPreviousWasChar = true; + bPreviousWasTab = false; nSpaceCount = 0; break; }