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.mehrbrodt@allotropia.de>
(cherry picked from commit c6075e716200e9c6bae1b10be2cf10013958e83a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165424
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
diff --git a/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx b/sw/qa/core/accessibilitycheck/AccessibilityCheckTest.cxx
index 117b48d..bfe2e08 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 0000000..2b3ce54
--- /dev/null
+++ b/sw/qa/core/accessibilitycheck/data/Tabs-in-TOC.odt
Binary files differ
diff --git a/sw/source/core/access/AccessibilityCheck.cxx b/sw/source/core/access/AccessibilityCheck.cxx
index e515b5c..dfa94c3 100644
--- a/sw/source/core/access/AccessibilityCheck.cxx
+++ b/sw/source/core/access/AccessibilityCheck.cxx
@@ -901,6 +901,11 @@ public:
}
case '\t':
{
// Don't warn about tabs in ToC
auto pSection = SwDoc::GetCurrSection(SwPosition(*pTextNode, 0));
if (pSection && pSection->GetTOXBase())
continue;
if (bPreviousWasChar)
{
++nTabCount;