Skip to content

Latest commit

 

History

History
428 lines (263 loc) · 25.8 KB

CHANGELOG.md

File metadata and controls

428 lines (263 loc) · 25.8 KB

1.3.2 (2023-07-11)

Updates:

  • Fix: aligned with the metadata properties defined in the W3C Community Report, notably missing schema accessibility features pageNavigation, printPageNumbers synonym pageBreakMarkers.
  • Feature: added timeout configuration via environment variables, to override the Electron Axe runner processing logic: ACE_TIMEOUT_INITIAL (default 10000, which provides a 10s time allowance for the web window to load its document and contents) and ACE_TIMEOUT_EXTENSION (default 480000 which provides a 480s / 8mn time allowance for the Axe checkers to execute inside the loaded document).

1.3.1 (2023-06-05)

Updates:

  • Hotfix for Ace App (GUI): moved Electron NPM package to devDependencies

1.3.0 (2023-06-05)

Updates:

  • Support for the EPUB Accessibility 1.1 specification "Conformance and Discoverability Requirements for EPUB publications" (W3C Recommendation dated 25 May 2023)
  • Fixed ordering rule/check in page list.
  • accessibilitySummary metadata is now recommended (SHOULD), not required (MUST). The impact/severity is downgraded from serious to moderate.
  • conformsTo metadata is a link in the a11y spec. 1.0 (IDPF WCAG URLs), but can be string label in 1.1
  • metadata "refines" is not filtered out for a11y properties that are globally hoisted to the level of the publication (unlike say, media overlays duration for individual spine items, or dc:title subtitle title-type refine)
  • Updated Electron Axe "runner" to latest version, includes recent Chromium browser engine revision (matches Ace App GUI 1.1.6).
  • Deprecated Puppeteer Axe "runner" in favour of the Electron one, which runs faster and is overall a better option as it delivers an experience consistent with Ace App (GUI). The Chromium version is now the same between Ace and Ace App. This alignment of technologies eliminates incorrectly-reported colour contrast violations (this was a notable discrepancy).
  • Upgraded the DAISY fork of Deque Axe to latest version 4.7.2 (this brings many fixes and alignments with the latest ARIA specifications) See daisy/axe-core#11

1.2.7 (2022-07-10)

Updates:

  • Support for the EPUB Accessibility 1.1 specification "Conformance and Discoverability Requirements for EPUB publications" (W3C Candidate Recommendation Draft dated 07 June 2022)
  • Upgraded the DAISY fork of Deque Axe to latest version 4.4.2
  • Fixed links to the DAISY Knowledge Base
  • Other internal maintenance items, upgraded various NPM package dependencies (notably the latest versions of Electron and Puppeteer which run the in-webview tests under the hood)

1.2.6 (2022-02-03)

Updates:

  • Removed the HTTP server which could cause firewall issues (this does not affect the Ace command line which uses Puppeteer, it affects Ace App which uses Electron to run Deque Axe under the hood)
  • Upgraded the DAISY fork of Deque Axe, version 4.4.0 which includes DPUB ARIA 1.1 updates, as well as many other improved checker rules ( daisy/axe-core#8 )
  • The Ace evaluation report (JSON and HTML) now contains information about Ace App (GUI) in addition to the version of the core / command line tool.
  • The metadata properties accessibilityControl and accessibilityAPI are now discouraged. Ace reports them as "present", but not as "missing", and does not check their values syntax.
  • The HTML report now references local JS and CSS dependencies (they were external links before)
  • Added Japanese localisation (many thanks to the translators!)
  • Updated several key NPM package dependencies, notably Electron v17 and Puppeteer v13 (both major increments, but non-breaking)

1.2.5 (2021-11-04)

Updates:

  • NPM package updates, notably Electron v15 and Puppeteer v11 (both major increments, non-breaking)
  • Also updated the DAISY fork of Deque Axe v4.3.5 ( daisy/axe-core#7 )

1.2.4 (2021-09-14)

Updates:

  • NPM package updates, minor non-breaking semantic version increments + Electron v14 (was v13)
  • Also updated the DAISY fork of Deque Axe v4.3.3 ( daisy/axe-core#6 ) to include a bugfix for daisy#358 (null origin with file:// in Puppeteer, did not affect Ace's Electron Axe "runner")

1.2.3 (2021-08-30)

Updates:

  • NodeJS v12+ requirement (LTS Long Term Support version is v14, v12 is now in maintenance mode, see https://nodejs.org/en/about/releases/ )
  • NPM package updates (minor non-breaking semantic version increments)
  • Notably: Deque Axe v4.3.3 (DAISY fork: daisy/axe-core#6 )
  • Migrated Continuous Integration runtime (automated tests) to new Travis service

1.2.2 (2021-04-13)

Bugfixes:

  • Fixed layout EPUB publications can have pagelist in Navigation Document without dc:source metadata in OPF package.
  • Increase tolerance for Ace + Axe script loading lag (longer time window)
  • SVG images are now reported
  • NPM package updates (minor semantic version increments)

1.2.1 (2021-04-09)

Bugfixes:

  • The Puppeteer Axe "runner" wasn't handling XML / XHTML correctly with .html or .htm file extensions (the Electron runner was ok already)
  • The HTTPS self-signed certificate validation procedure for the DAISY Knowledge Base was colliding with the HTTP server used in Ace with the Electron Axe runner.
  • There was a random possibility of the Axe script not being ready in time for Ace.
  • In case a single publication document causes a fatal error, the whole pool of concurrent validation windows is torn down, which caused timers to fire after disposal and attempt to reload now-defunct windows.

1.2.0 (2021-04-08)

Major internal update (see daisy#314 ).

Summary:

  • Based on DAISY's own fork of Deque's Axe (latest v4 version), instead of patching Axe's distributed Javascript bundles (see daisy/axe-core#4 )
  • Better localization tooling for Axe, integration of Axe translations
  • Two Axe "runners": Puppeteer (default for Ace CLI), and Electron (can be used in CLI, and used by Ace App), Chromium web browser engine is used in both cases, but Electron runner uses a HTTP server to simulate a typical reading system environment. Unit tests plumbing for both platforms (Continuous Integration server only executes the Puppeteer ones, for faster builds). Runtime performance is near-identical (there is a developer script to check this).
  • NodeJS >=10 requirement
  • NPM package dependencies updated to latest versions (except where NodeJS requirement is higher). Added developer scripts to facilitate version checking and incremental updates at regular intervals (i.e. package.json exact references and yarn.lock maintenance)
  • All Ace sub-packages (@daisy/ organisation scope on NPM) have exact same semantic version (easier deployment with developer script that automates NPM publish)
  • Fixes bugs that couldn't easily be fixed in Ace 1.1.1 (the last of v1), due to older Axe (v3 instead of v4) and due to older NPM package dependencies that were necessary for compatibility with legacy NodeJS requirement (now deprecated / deemed unsecure).

1.1.1 (2019-07-08)

Bug Fixes

  • allow list items as children of roles inheriting from 'list' (a362050), closes #239
  • allow list of values for 'accessModeSufficient' (6cb5402), closes #238
  • remove trailing whitespace after 'unlocked' value (0f9e656)
  • when img copy fails, keep going (#215) (f769b49)

1.1.0 (2019-07-04)

Bug Fixes

Features

  • new rule: check expected values of schema.org a11y metadata (a5452c3), closes #202
  • new rule: check the presence of a page list when 'printPageNumbers' is declared (6e33dbb), closes #203
  • improve epub:type / DPUB ARIA role mapping (df3c666), closes #201 #214 #220
  • Localization, English + French (#223) (bf8b374)
  • Puppeteer-based Ace Axe "runner" (AceGUI uses Electron instead) (#227) (34c6e47)
  • update Axe to v3.2.2 (#228) (acf95da), closes #225

1.0.2 (2018-05-25)

Bug Fixes

  • revert to the official xmldom-alpha depdency (c2eafb5)

1.0.1 (2018-05-25)

Bug Fixes

  • fix fs.promises ExperimentalWarning on Node v10.1.0 (4a7d88f)
  • core: headings with role doc-subtitle reported empty (7ad1373)
  • parser: parse HTML named character references (1e83bf7), closes #182
  • report: add dcterms:conformsTo, fix HTML entities (9e00a51), closes #161 #171

1.0.0 (2018-01-29)

Bug Fixes

  • http-api: fix a bug causing a job status to not be updated (5247750)

Features

  • logging: verbose output includes Ace, NodeJS and OS versions (229d4d1)

1.0.0-RC.1 (2018-01-22)

Bug Fixes

  • core: properly check Content Documents extensions (8641c36), closes #157
  • report: correct table column ordering (f93111f)
  • rules: add help title and description to epub-type-has-matching-role (a2506e4), closes #156

Features

  • data: report the presence of SVG Content Documents (659e189), closes #94

0.9.0 (2018-01-19)

Bug Fixes

  • core: don't crash if a content document has an '.xml' extension (181bea6), closes #122
  • core: fix Puppeteer launching issue on Linux (bd95b20)
  • report: do not relativize paths if outdir was not set (57b05d9)
  • report: epub url is given as relative by default (c7bfe03), closes #64
  • report: remove @path property from iframes and images (0ea5ca9), closes #64
  • report: report looks ok even if javascript is disabled (ac945f2), closes #119
  • report: style fix for table pagination controls (472e75c), closes #147
  • rule: disable aXe check requiring at least one main (eb79b2b), closes #139
  • rule: ensure DPUB ARIA roles are accepted by aXe 2.6 (508f6b4), closes #140

Features

  • cli: optionally return error code 2 when violations are found (136e3b2), closes #113
  • dependencies: update aXe version to 2.6.1 (f382b3c), closes #148
  • dependencies: update Google Puppeteer to v1.0.0 (942a8f2)
  • report: add rules descriptions to the report (63cc88b), closes #146
  • report: images table has role column (0240800)

0.8.0 (2017-12-24)

Bug Fixes

  • cli: print the JSON report even when --silent is enabled (e108d4d), closes #112
  • outlines: only use headings text content in the outline (084fe4a), closes #129
  • report: limit the width of images (fd80592), closes #126
  • unzip: try to repair ZIP archives with extra comment length (#138) (4c8b532), closes #121
  • unzip: tweak error message to indicate possible ZIP corruption (434d9c2)

Features

  • data: extract and report link info from the Package Document (#130) (a010744), closes #96
  • report: add a 'Best Practice' rule category (b5ed308)
  • report: show source code snippets for violations (#134) (5e053fa), closes #82
  • rule: check that epub:type have matching ARIA roles (85ffb96), closes #70

0.7.0 (2017-12-13)

Bug Fixes

  • core error when running HTML checks ('HTML5Outline is not defined') (03e3a3e), closes #108
  • aXe: description list item does not have a <dl> parent (4c0afdd), closes dequelabs/axe-core#581 #114
  • report: await for resources to be copied over to return (b00b95b)
  • report: include earl:result for documents that have no assertions (d131450), closes #120

Features

  • modularize the source code into individual Node packages (76d49ce)
  • config: enable configurability with a config file (f63e1a5), closes #63 #77
  • config: make the logging configurable (5a3e4a4)
  • core: report the name of the Content Document where an unexpected error occurred (ae1d814)

0.6.0 (2017-11-01)

Bug Fixes

  • report: Better usability for report (56e1222), closes #31 #19
  • report: EPUB title is a top-level item (5f210d4), closes #62
  • report: report name is report.json (84ddf2f), closes #66
  • report: States that no was found (c6b3b9a), closes #61
  • rules: properly detect page markers using epub:type="pagebreak" (72e5bd5), closes #85

Features

  • core: run HTML checks in headless Chrome (b150b83), closes #23
  • report: report includes summary of violations (8ce05b7), closes #30
  • rules: allow DPUB ARIA roles (32cdacf), closes #65
  • rules: ensure that page break markers have an accessible label (a078739), closes #71
  • rules: report data on fallback mechanisms with no a11y support (b18740a), closes #76
  • rules: report the presence of interactive form content (5680386), closes #75

Performance Improvements

  • run HTML checks concurrently (fb91a69)

0.5.0 (2017-10-11)

Bug Fixes

  • use the proper URL to Ace’s website in the report (9c5c62a)

0.3.4 (2017-10-10)

Bug Fixes

  • create subdirectories when creating a new directory (ceed934)

Features

  • use the new URL for DAISY’s KB (a659a9c), closes #58

0.3.3 (2017-10-09)

Bug Fixes

  • patch aXe to support namespaced element names (9e945b9), closes #57
  • use javascript strict mode everywhere to prevent errors (b41e77b)
  • wrong image paths in HTML report (1ecf40f), closes #56

Features

  • use Babel to make Ace compatible with Node v6 and later (89cb1d7), closes #45
  • write logs to a user directory (97d2dc9), closes #50

0.3.2 (2017-10-05)

Changes

  • correctly publish the fixes from v0.3.1 to npm.

0.3.1 (2017-10-05)

Bug Fixes

  • http: make ace-http command executable (564f695)
  • don’t crash when an image is missing in the EPUB (cec84b1), closes #44
  • end the JSON-LD context URL by .json (999ebe8)
  • JS error in the report when assertions don’t have a pointer (e3b6917), closes #54
  • multiple dc:source caused an unexpected error (c719977), closes #49
  • properly set paths to media elems with sources children (4d816fe), closes #48
  • various bugs in the report builder (4db2bd2), closes #53

0.3.0 (2017-10-04)

Bug Fixes

  • cli: fix broken dependency (1b6893b)
  • add the correct version of Ace to the report (7b855df)
  • allow the doc checker to be called concurrently (af2ce2a)
  • cli: correct file location (f295c6f)
  • disable aXe’s bypass rule (e3215ff), closes #40
  • do not hang on errors during HTML checking (54ebf5b), closes #39
  • don’t choke on –and report– missing KB links (2bc94ab)
  • enable successive calls in the same process (7461fec)
  • improve error handling (8591a08)
  • prevent data to leak outside the report dir (a86fddc), closes #18 #33
  • support checking unpackaged EPUB passed as relative paths (2268ba5)
  • wait for reports to be written before returning (bd7d6cb)

Features

  • CLI: improve handling of report directory overrides (e4ab069), closes #17 #28
  • http: completed initial http api (19f5c70), closes #9
  • tests: add minimal integration tests (7d087cd)
  • extract more info from the HTML content (6134f6d), closes #26
  • report EPUB-specific violations (ab4d34b), closes #10
  • various improvements to the HTML report’s UX
  • add a summary of accessibility metadata
  • support checking of unpackaged EPUBs
  • add integration tests

0.2.0 (2017-08-07)

Features

  • New JSON-LD report format, using properties from W3C's Evaluation and Report Language
  • New HTML report
  • Include link to DAISY's accessibility knowledge base (work in progress)
  • Include a visualization of various EPUB outlines (Navigation Document's ToC, headings hiererachy, and HTML outline)
  • Include a list of the EPUB's images and associated descriptive text
  • Include the full publication metadata set

0.1.1 (2017-06-26)

Bug Fixes

  • Fix a bug which caused file name conflicts when creating temporary directories for Content Documents (closes #12)

0.1.0 (2017-06-02)

Features

  • includes a basic CLI app
  • extracts and parses an EPUB to load content docs
  • runs aXe on the content docs (on the DOM rendered in NightmareJS/Electron)
  • aggregates the results
  • produces a report on the standard output or
  • store it in a specified directory