定制 priebera/typo3-a11y-quality-gate 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

priebera/typo3-a11y-quality-gate

Composer 安装命令:

composer require priebera/typo3-a11y-quality-gate

包简介

TYPO3 accessibility checker and quality gate with CKEditor feedback, WCAG issue management, rendered page checks and editor workflows.

README 文档

README

Latest Stable Version Total Downloads TYPO3 13.4 LTS | 14.3+ PHP 8.2+ License

Accessibility Quality Gate is a TYPO3-native accessibility checker that brings CKEditor feedback, WCAG issue management, rendered page checks and publishing safeguards into the editorial workflow.

Product · Documentation · Pricing · Free Trial · Support · Packagist · TER

Install

composer require priebera/typo3-a11y-quality-gate
./vendor/bin/typo3 extension:setup

Supports TYPO3 13.4 LTS and TYPO3 14.3+.

Features

Free — no licence key required

  • CKEditor 5 inline highlighting for accessibility issues
  • Backend overview and page detail modules
  • Issue tracking with ignore / unignore workflow and expiry dates
  • Stable issue fingerprints across rescans
  • Batch ignore workflow with required reason confirmation
  • Per-rule enable / disable in Settings
  • Manual local scans via backend module and CLI
  • Automated local scans via TYPO3 Scheduler
  • Changed-only scan mode for incremental rescans
  • Quality gate warning mode on page publish / unhide; editors can continue after reviewing the warning
  • FREE rendered page checks for manual Scan this page and Scan site actions, inspecting TYPO3 server-rendered HTML without executing JavaScript
  • CSV export
  • TCA-based field discovery for tt_content RTE and file fields
  • Settings module for enabling and disabling scanned fields
  • Built-in rules that help identify common WCAG-related accessibility issues in RTE content, structured fields and rendered HTML

Trial / PRO / Agency

  • Remote browser accessibility scans via Playwright + axe-core
  • Remote browser scan results with issue breakdown and screenshot preview
  • Frontend scan history for site and single-page scans, including scan comparison and regression signals
  • Recommended remediation plans with friendly rule metadata, affected user groups, WCAG references and suggested ownership
  • Accessibility Statement Draft Assistant with English and German preview plus HTML, TXT and PDF exports
  • WCAG 2.2 target-size reporting and expanded color-contrast remediation guidance
  • PDF export for overview and page detail reports
  • Remote CSV export
  • Per-site quality gate configuration
  • Quality gate blocking mode on publish / unhide
  • Diff tracking for new and resolved issues across scans
  • Multi-site support for agencies

Plan details, trial access and pricing:

Requirements

  • TYPO3 13.4 LTS or TYPO3 14.3+
  • PHP 8.2 or higher
  • No additional services required for the Free version

Screenshots

Overview

Overview module

Page detail

Page detail

CKEditor inline highlighting

CKEditor highlighting

Links

Product https://typo3.priebera.sk/products/accessibility-quality-gate
Documentation https://typo3.priebera.sk/docs
Support https://typo3.priebera.sk/contact
Trial https://typo3.priebera.sk/trial
Pricing https://typo3.priebera.sk/pricing
Portal https://typo3.priebera.sk/portal
Repository https://github.com/priebera1/typo3-a11y-quality-gate
Packagist https://packagist.org/packages/priebera/typo3-a11y-quality-gate
TER https://extensions.typo3.org/extension/a11y_quality_gate/

Compatibility

Version TYPO3 PHP Support
1.4+ 13.4 LTS / 14.3+ 8.2+ Features and bugfixes
1.3.x 13.4 LTS 8.2+ Security and bugfixes

Built-in rules

AQG includes rules across three categories. For the full reference with WCAG mappings and fix guidance see the documentation: https://typo3.priebera.sk/docs/rules

RTE rules — CKEditor and RTE HTML content

Rule ID Severity WCAG
rte.img_alt_missing Critical 1.1.1
rte.img_alt_is_filename Warning 1.1.1
rte.img_alt_too_long Warning 1.1.1
rte.img_alt_redundant_phrase Warning 1.1.1
rte.empty_heading Critical 1.3.1
rte.empty_link Critical 2.4.4 / 4.1.2
rte.button_label_missing Critical 4.1.2
rte.form_control_missing_label Critical 1.3.1 / 3.3.2
rte.table_missing_header Warning 1.3.1
rte.table_th_missing_scope Warning 1.3.1
rte.table_missing_caption Info 1.3.1
rte.duplicate_id Warning 1.3.1
rte.svg_missing_title Warning 1.1.1
rte.iframe_missing_title Critical 4.1.2
rte.image_in_link_missing_alt Critical 1.1.1 / 2.4.4
rte.marquee_or_blink Critical 2.2.2
rte.non_descriptive_link Warning 2.4.4
rte.heading_hierarchy_jump Warning 1.3.1
rte.link_new_window_no_warning Warning 3.2.2
rte.link_text_is_url_or_filename Warning 2.4.4
rte.link_to_document Needs review 2.4.4
rte.link_to_document_missing_notice Info 2.4.4
rte.link_text_duplicate_different_targets Warning 2.4.4

Structured rules — TCA field values

Rule ID Severity WCAG
structured.file_reference_alt Critical 1.1.1
structured.file_reference_alt_quality Warning 1.1.1
structured.header_ctype_empty Warning 1.3.1
structured.header_link_no_text Critical 2.4.4 / 4.1.2
structured.header_level_is_h1 Needs review 1.3.1
structured.uploads_file_missing_description Warning 2.4.4
structured.table_missing_caption Info 1.3.1
structured.form_placeholder_as_label Warning 1.3.1 / 3.3.2
structured.form_field_label_missing Critical 1.3.1 / 3.3.2
structured.form_autocomplete_missing Warning 1.3.5
structured.media_no_transcript_hint Needs review 1.2.1

Some structured rules may adjust severity depending on the detected case, for example missing alternative text versus title-only fallback.

Rendered HTML rules — FREE, manual, server-rendered HTML only

Rendered checks run when an editor manually starts Scan this page or Scan site. They inspect the final server-rendered HTML returned by TYPO3 and do not execute JavaScript, AJAX or lazy-loaded browser interactions. Manual Scan site applies these checks to supported frontend pages in the selected site scope. CLI and Scheduler scans continue to use the Local scan workflow. Browser-based crawling, JavaScript execution and screenshots remain Trial / PRO / Agency features.

Rule ID Severity WCAG
rendered.img_missing_alt Critical 1.1.1
rendered.empty_link Critical 2.4.4
rendered.empty_button Critical 4.1.2
rendered.empty_heading Critical 1.3.1
rendered.iframe_missing_title Critical 4.1.2
rendered.form_control_missing_label Critical 1.3.1 / 3.3.2
rendered.duplicate_id Warning 1.3.1
rendered.table_missing_header Warning 1.3.1
rendered.table_empty_header Warning 1.3.1
rendered.svg_missing_accessible_name Warning 1.1.1
rendered.html_lang_missing Critical 3.1.1
rendered.page_title_missing Warning 2.4.2
rendered.main_landmark_missing Needs review 1.3.6
rendered.landmark_unique Needs review 1.3.6

Installation and setup

composer require priebera/typo3-a11y-quality-gate

Then run TYPO3 extension setup and flush caches:

./vendor/bin/typo3 extension:setup
./vendor/bin/typo3 cache:flush

Next:

  1. Open the Accessibility Quality Gate module in the TYPO3 backend
  2. Run Re-scan TCA in Settings once
  3. Configure a Scheduler task or run scans manually via backend module or CLI

For full setup and usage instructions see the documentation: https://typo3.priebera.sk/docs

Configuration

Field settings

In the Settings module you can:

  • refresh supported fields from TCA
  • enable or disable individual fields and rules
  • control which fields are included in future scans

Changes are applied only after clicking Save settings.

Quality Gate

A default ruleset is created automatically on first use.

Field Description
threshold_critical Maximum allowed open critical issues
threshold_warning Maximum allowed open warnings (-1 disables the warning threshold)
publish_mode 0 = disabled, 1 = warn, 2 = block (PRO)

For site-specific rulesets set site_identifier to match the TYPO3 site configuration identifier.

CLI usage

# Scan a subtree
./vendor/bin/typo3 a11y:scan --root-pid=1

# Scan a single page
./vendor/bin/typo3 a11y:scan --page-uid=42

# Scan changed content only
./vendor/bin/typo3 a11y:scan --root-pid=1 --changed-only

# Scan a specific language
./vendor/bin/typo3 a11y:scan --root-pid=1 --language=1

CLI and Scheduler commands run the Local scan workflow. FREE rendered page checks are started manually from the backend through Scan this page or Scan site.

Backend User TSconfig

options.a11y_quality_gate {
    showToolbarItem = 1
    showScanAll = 1
    showScanNow = 1
}
Option Default Description
showToolbarItem 1 Show the AQG item in the TYPO3 backend toolbar
showScanAll 1 Show the "Scan site" button in the overview module
showScanNow 1 Show the "Scan this page" button in page and record-related views

Scope

AQG helps teams identify common accessibility issues early in the TYPO3 editorial workflow. It is not a legal certification tool and cannot guarantee WCAG, EAA, BITV or any other accessibility compliance on its own.

The Free rendered page check analyzes server-rendered HTML only. It does not execute JavaScript, wait for AJAX or lazy-loaded content, interact with cookie banners or take screenshots. Browser-based crawling, screenshots and axe-core checks are part of the Trial / PRO remote scanner.

Accessibility Quality Gate does not replace a full accessibility audit, keyboard testing, assistive technology testing or a professional WCAG review. Some rules reflect best practices and may not always correspond to a hard WCAG failure in every context. All findings should be reviewed in context.

License

GPL-2.0-or-later

priebera/typo3-a11y-quality-gate 适用场景与选型建议

priebera/typo3-a11y-quality-gate 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 05 月 11 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「CKEditor」 「typo3」 「accessibility」 「wcag」 「a11y」 「typo3-extension」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 priebera/typo3-a11y-quality-gate 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 priebera/typo3-a11y-quality-gate 我们能提供哪些服务?
定制开发 / 二次开发

基于 priebera/typo3-a11y-quality-gate 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 2
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 42
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-2.0-or-later
  • 更新时间: 2026-05-11