uniwue/uw_a11y_check

配置型tt_content和扩展记录的a11y检查

安装: 563

依赖项: 0

建议者: 0

安全: 0

星星: 3

观察者: 4

分支: 1

开放问题: 2

类型:typo3-cms-extension

4.1.0 2023-11-25 17:28 UTC

This package is auto-updated.

Last update: 2024-09-09 07:09:32 UTC


README

本TYPO3扩展是为维尔茨堡尤利乌斯-马克西米利安大学开发的。

这是什么?

TYPO3扩展"uw_a11y_check"旨在提供评估编辑生成内容的功能,这些内容与可配置的访问性检查集进行对比。

它是如何工作的?

假设,TYPO3网站的主要模板符合A11Y标准,这通常由TYPO3集成商完成。因此,基本上,页面的模板生成的前端输出(例如,页眉、页脚、菜单等)可以排除在A11Y检查之外,当只需处理编辑生成的内容时。

为了仅检查编辑生成的内容,该扩展提供了一个自定义插件,它渲染给定页面的所有内容元素。然后,这些内容元素的前端输出将针对可配置的访问性检查集进行检查。

记录(例如,ext:news记录)中的编辑生成内容也可以通过提供自定义页面进行检查,其中包含受影响扩展的插件以渲染视图(例如,详细视图)。

该扩展高度可配置,并附带一组有限的A11Y检查,这些检查通过分析生成的HTML内容进行处理。然而,可以实现自定义检查(例如,通过第三方A11Y检查器)

注意:包含的内部测试使用symfony domcrawler仅分析DOM结构,不尊重对生成的HTML进行的任何后修改,例如JavaScript。如果您需要更精确的A11Y检查(例如,通过第三方A11Y检查),可以通过自定义分析器实现(参见“自定义”部分)

安装

该扩展可用于composer和非composer环境。对于非composer环境,该扩展自动包含所需的依赖项(主要是几个symfony包)。

安装扩展后,必须在您的TypoScript模板中包含静态TypoScript "TYPO3 Accessibility Check"。

安装和配置后,以下组件可用

  • "Accessibility Check"后端模块
  • Symfony命令uw_a11y_check:check:presetByPageUid用于检查具有给定预设的TYPO3页面/sysfolder
  • Symfony命令uw_a11y_check:check:presetByRecordUids用于检查具有给定预设的记录列表

配置

要求

  • 一个扩展(例如,sitepackage),您可以在其中添加A11Y检查扩展的配置
  • 一个“空白”后端布局,配置为仅输出一个列的内容,不包含页眉、页脚、菜单等

使用默认配置设置

该扩展使用YAML文件进行配置。它包含一个默认配置,该配置必须用自定义配置覆盖。默认配置包含2个检查预设,将使用提供的默认测试套件和内部A11Y检查。

为了覆盖默认配置,将以下代码片段添加到现有扩展(例如,网站site包)的ext_localconf.php中。

  1. 覆盖默认配置

可以通过自定义YAML配置文件或使用TYPO3网站设置(自TYPO3 10.4以来可用)来覆盖默认配置

1.1 通过自定义YAML配置文件覆盖配置

如果您想覆盖或为扩展创建完全新的配置,则推荐这样做。

$GLOBALS['TYPO3_CONF_VARS']['UwA11yCheck']['Configuration'] = 'EXT:your_sitepackage/Configuration/A11y/Default.yaml';

1.2 通过TYPO3网站设置覆盖配置

如果您只想覆盖默认配置中的单个配置值,可以使用以下TYPO3站点配置来操作:

settings:
  uw_a11y_check:
    presets:
      pageContent:
        checkUrlGenerator:
          configuration:
            targetPid: 71
      extNews:
        checkUrlGenerator:
          configuration:
            targetPid: 73

接下来,您应该将默认配置的内容复制到您的配置文件中。

  1. 创建带有插件页面内容和ext:news(如果已安装)的页面。

在TYPO3页面树中创建一个新的sysfolder中的2个页面,并将每个页面的“空白”后端布局分配给它们。

  • 在页面内容页面中,添加“显示内容元素以进行a11y检查”插件。
  • 在ext:news记录页面中,添加和配置ext:news插件,并确保设置显示模式为“详细视图”。

页面结构的示例截图。

Page structure

  1. 将页面UID添加到配置中

在您的配置(YAML文件或TYPO3站点设置)中,您必须为每个预设添加页面UID到checkUrlGenerator配置。

示例(缩短)

presets:
  pageContent:
    checkUrlGenerator:
      configuration:
        targetPid: 216471

预设pageContent的A11Y检查现在将使用PID 216471来渲染要检查的页面所有内容元素。基本上,PID对于扩展生成检查-URL(用于检索渲染的内容)很重要。

后端模块

配置扩展后,可以使用后端模块执行配置的检查预设。

A11Y Module Index

检查页面内容元素预设的检查结果的示例输出

A11Y Module - output page content

检查ext:news记录预设的检查结果的示例输出

A11Y Module - output page content

命令

扩展附带2个symfony控制台命令,用于在CLI环境中处理A11Y分析。检查结果将保存到数据库中。

命令:presetByPageUid

命令uw_a11y_check:check:presetByPageUid将使用给定预设检查具有指定PID的TYPO3页面/系统文件夹(如果配置为递归)。

示例命令:./typo3/sysext/core/bin/typo3 uw_a11y_check:check:presetByPageUid pageContent 184470

示例输出

A11Y Module - output page content

命令:presetByRecordUids

命令uw_a11y_check:check:presetByRecordUids将使用给定预设检查具有指定UID的记录列表。

示例命令:./typo3/sysext/core/bin/typo3 uw_a11y_check:check:presetByRecordUids extNews 42527,58611

示例输出

A11Y Module - output page content

查看通过命令处理的检查结果

您可以使用扩展后端模块查看保存的检查结果。如果存在保存的结果集,将显示通知(请参阅下面的示例截图)

A11Y Module - output page content

自定义

您可以自定义扩展的分析逻辑。例如,如果需要分析Extbase扩展的输出,您可以添加一个自定义分析器以及自定义CheckUrlGenerator并实现分析逻辑。

如果默认的内部测试不符合您的需求或您想要使用外部A11Y检查,您可以实现一个带有自定义测试的测试套件。

包含的分析器、checkUrlGenerators和testSuites应该提供有关分析逻辑如何创建以及如何进行自定义的详细概述。

分析器

分析器为A11Y检查提供执行逻辑。扩展附带2个分析器(PageContentAnalyzerNewsAnalyzer),它们用于配置预设。分析器将获取页面内容以进行A11Y检查,处理预设的所有配置测试套件,并将返回检查结果。

CheckUrlGenerators

CheckUrlGenerator用于创建链接到内部页面,其中已添加插件(请参阅配置步骤2)。

测试套件

测试套件通常是单个A11Y检查的组,由配置的分析器执行。扩展附带一组内部测试套件,使用symfony爬虫对渲染的HTML内容进行A11Y分析。

预设

预设(在YAML配置中配置)定义了一个分析器、一个checkUrlGenerator和所有包含的测试套件的配置的逻辑集合。请注意,所有测试套件将为每个预设执行。

版本