sw/source/core/access/AccessibilityCheck.cxx | 34 +++++++++++++++++++++++++++ 1 file changed, 34 insertions(+)
New commits: commit 4454f4d4ffd8eb7d1c6dd32b2eb2372139fcded3 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk> AuthorDate: Sun Dec 15 19:02:16 2019 +0100 Commit: Tomaž Vajngerl <qui...@gmail.com> CommitDate: Sat Dec 28 12:37:58 2019 +0100 acc. check: check for endnotes and footnotes Endnotes and footnotes cause problems for accessibility and should be avoided. Change-Id: Ibbce4d246f76feb8d389a7ba588836e2fef8f5d5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85907 Reviewed-by: Tomaž Vajngerl <qui...@gmail.com> Tested-by: Tomaž Vajngerl <qui...@gmail.com> diff --git a/sw/source/core/access/AccessibilityCheck.cxx b/sw/source/core/access/AccessibilityCheck.cxx index 19728a0539bf..e81d23787f5e 100644 --- a/sw/source/core/access/AccessibilityCheck.cxx +++ b/sw/source/core/access/AccessibilityCheck.cxx @@ -25,6 +25,8 @@ #include <charatr.hxx> #include <svx/xfillit0.hxx> #include <svx/xflclit.hxx> +#include <ftnidx.hxx> +#include <txtftn.hxx> namespace sw { @@ -40,6 +42,8 @@ OUString sStyleNoLanguage("Style '%STYLE_NAME%' has no language set"); OUString sDocumentTitle("Document title is not set"); OUString sTextContrast("Text contrast is too low."); OUString sTextBlinking("Blinking text."); +OUString sAvoidFootnotes("Avoid footnotes."); +OUString sAvoidEndnotes("Avoid endnotes."); class BaseCheck { @@ -520,6 +524,35 @@ public: } }; +class FootnoteEndnoteCheck : public DocumentCheck +{ +public: + FootnoteEndnoteCheck(std::vector<svx::AccessibilityIssue>& rIssueCollection) + : DocumentCheck(rIssueCollection) + { + } + + void check(SwDoc* pDoc) override + { + for (SwTextFootnote const* pTextFootnote : pDoc->GetFootnoteIdxs()) + { + SwFormatFootnote const& rFootnote = pTextFootnote->GetFootnote(); + if (rFootnote.IsEndNote()) + { + svx::AccessibilityIssue aIssue; + aIssue.m_aIssueText = sAvoidEndnotes; + m_rIssueCollection.push_back(aIssue); + } + else + { + svx::AccessibilityIssue aIssue; + aIssue.m_aIssueText = sAvoidFootnotes; + m_rIssueCollection.push_back(aIssue); + } + } + } +}; + } // end anonymous namespace // Check Shapes, TextBox @@ -549,6 +582,7 @@ void AccessibilityCheck::check() std::vector<std::unique_ptr<DocumentCheck>> aDocumentChecks; aDocumentChecks.push_back(std::make_unique<DocumentDefaultLanguageCheck>(m_aIssueCollection)); aDocumentChecks.push_back(std::make_unique<DocumentTitleCheck>(m_aIssueCollection)); + aDocumentChecks.push_back(std::make_unique<FootnoteEndnoteCheck>(m_aIssueCollection)); for (std::unique_ptr<DocumentCheck>& rpDocumentCheck : aDocumentChecks) { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits