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 7a61065bb8ccf33fb1918218bf2febd30e786bf4
Author:     Samuel Mehrbrodt <samuel.mehrbr...@allotropia.de>
AuthorDate: Mon Mar 18 15:19:42 2024 +0100
Commit:     Caolán McNamara <caolan.mcnam...@collabora.com>
CommitDate: Sun Mar 31 22:37:34 2024 +0200

    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>
    (cherry picked from commit c6075e716200e9c6bae1b10be2cf10013958e83a)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165424
    Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com>

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 e515b5cae7ed..dfa94c3ed9ab 100644
--- a/sw/source/core/access/AccessibilityCheck.cxx
+++ b/sw/source/core/access/AccessibilityCheck.cxx
@@ -901,6 +901,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;

Reply via email to