sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx | 11 +++++++++++ sw/qa/core/accessibilitycheck/data/Tabs-in-TOC.odt |binary sw/source/core/access/AccessibilityCheck.cxx | 5 +++++ 3 files changed, 16 insertions(+)
New commits: commit c6075e716200e9c6bae1b10be2cf10013958e83a Author: Samuel Mehrbrodt <samuel.mehrbr...@allotropia.de> AuthorDate: Mon Mar 18 15:19:42 2024 +0100 Commit: Samuel Mehrbrodt <samuel.mehrbr...@allotropia.de> CommitDate: Thu Mar 28 10:43:17 2024 +0100 tdf#159918 a11y check: Don't warn about tabs in ToC Change-Id: Ifde41deb66c8dcb72842e18e539609ff351be832 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164972 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbr...@allotropia.de> diff --git a/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx b/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx index 117b48d01661..bfe2e08d8543 100644 --- a/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx +++ b/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx @@ -251,6 +251,17 @@ scanAccessibilityIssuesOnNodes(SwDoc* pDocument) return aIssues; } +CPPUNIT_TEST_FIXTURE(AccessibilityCheckTest, testCheckTabsinTOC) +{ + createSwDoc("Tabs-in-TOC.odt"); + SwDoc* pDoc = getSwDoc(); + CPPUNIT_ASSERT(pDoc); + sw::AccessibilityCheck aCheck(pDoc); + aCheck.check(); + auto& aIssues = aCheck.getIssueCollection().getIssues(); + CPPUNIT_ASSERT_EQUAL(size_t(0), aIssues.size()); +} + void checkIssuePosition(std::shared_ptr<sfx::AccessibilityIssue> const& pIssue, int nLine, sal_Int32 nStart, sal_Int32 nEnd, SwNodeOffset nIndex) { diff --git a/sw/qa/core/accessibilitycheck/data/Tabs-in-TOC.odt b/sw/qa/core/accessibilitycheck/data/Tabs-in-TOC.odt new file mode 100644 index 000000000000..2b3ce54cc5a3 Binary files /dev/null and b/sw/qa/core/accessibilitycheck/data/Tabs-in-TOC.odt differ diff --git a/sw/source/core/access/AccessibilityCheck.cxx b/sw/source/core/access/AccessibilityCheck.cxx index d43a6919adf2..a1fed7c1ffd1 100644 --- a/sw/source/core/access/AccessibilityCheck.cxx +++ b/sw/source/core/access/AccessibilityCheck.cxx @@ -907,6 +907,11 @@ public: } case ' ': { + // Don't warn about tabs in ToC + auto pSection = SwDoc::GetCurrSection(SwPosition(*pTextNode, 0)); + if (pSection && pSection->GetTOXBase()) + continue; + if (bPreviousWasChar) { ++nTabCount;