Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(release): v4.8.0 #4146

Merged
merged 55 commits into from
Sep 6, 2023
Merged

chore(release): v4.8.0 #4146

merged 55 commits into from
Sep 6, 2023

Conversation

attest-team-ci
Copy link
Contributor

4.8.0 (2023-09-06)

Features

  • add EN.301.549 tags to rules (#4063) (de3da89)
  • add rule aria-conditional-attr (#4094) (d417630)
  • add rule aria-deprecated-role (#4074) (03f2771)
  • aria-input/toggle-field-name: set impact always to serious (#4095) (e031d68)
  • aria-prohibited-attr: add rule aria-prohibited-attr (#4088) (7b115d3)
  • checks: enable help-same-as-label, but remove from rules (#4096) (034038a)
  • d.ts: improve axe.d.ts types (#4081) (7c5f991), closes #3966
  • deprecate & disable duplicate-id / duplicate-id-active (#4071) (733c45e)
  • Deprecate impact on checks, use rules instead (#4114) (2cc5547)
  • duplicate-id-aria: set to review on fail and tag as wcag412 (#4075) (9f1a3e3)
  • impact: aria-roles / aria-valid-attr-value is always "critical" (#4112) (5cc8041)
  • impact: scope-attr-valid is always "moderate" (#4113) (131f552)
  • new-rule: aria-braille-equivalent finds incorrect uses of aria-braille attributes (#4107) (6260a2f)
  • page-no-duplicate-banner/contentinfo: deprecate options.nativeScopeFilter, take into ancestors with sectioning roles (#4105) (c6e07be)

Bug Fixes

  • access-name: get name from header elements (#4097) (fbe99bf)
  • add element semantics (#4115) (637bf6c)
  • aria-allowed-attr: pass aria-expanded on checkbox & switch (#4110) (fcf76e0), closes #3339
  • aria-allowed-role: Add doc-glossary to allowed roles for aside element (#4083) (6ca38f6)
  • aria-allowed-role: add meter to allowed roles for named img (#4055) (173f29d), closes #4054
  • aria-required-childen: test visibility of grandchildren (#4091) (a202b69)
  • aria-text: typo in rule description (#4131) (85a0e9c)
  • aria-valid-attr-value: allow empty value on aria-braille* & aria-valuetext (#4109) (c4c3e65)
  • avoid memory issues by doing better cleanup (#4059) (16c5cfa)
  • avoid problems from element IDs that exist on object prototype (#4060) (8d135dd)
  • color-contrast: correctly handle flex and position (#4086) (9d5f496)
  • color-contrast: get text stoke from offset shadows (#4079) (13acffe)
  • color-contrast: ignore format unicode characters (#4102) (049522e)
  • color-contrast: ignore zero width characters (#4103) (4deb0a0)
  • color-contrast: process non-rgb color functions (#4092) (9634282)
  • commons/dom/createGrid: only add the visible, non-overflow areas of an element to the grid (#4101) (d77f47b)
  • ensure reporter errors can propagate (#4111) (080cc1b)
  • ignore stylesheets fetching style tag in jsdom (#4138) (d7c16a4)
  • jsdom: allow axe.setup() without a global window (#4116) (33b0314)
  • target-size: correctly calculate bounding box (#4125) (1494b4c)
  • target-size: update to match new spacing requirements (#4117) (49eaa0e)
  • Use correct copyright year (#4098) (cab6a2b)
  • utils/clone: don't try to clone elements from different window context (#4072) (55000d0)

This PR was opened by a robot 🤖 🎉

straker and others added 30 commits May 25, 2023 10:38
chore: merge master into develop
… pages (#4026)

* perf(get-element-stack): improve getElementStack performance on large pages

* use memoize instead of cache in getScroll
* test: refactor get-background-color tests with color asserts

* test: normalize background colors in get-background-color hooks

* test: refactor and improve assert output in assertRectsEqual

* test: fix integration test server ipv6 compat

* test: normalize background colors in get-foreground-color hooks

* test: fix light-mode color assumption in dialog integration test

* resolve PR comments
* Update: add meter to allowed roles for named img

closes #4054

* fix spacing

* add meter img test

* Update test/integration/rules/aria-allowed-role/aria-allowed-role.html

* Update aria-allowed-role.json
…4060)

* fix: avoid problems from element IDs that exist on object prototype

* 🤖 Automated formatting fixes

* Fixed tests
* fix: ensure better cleanup after t

* 🤖 Automated formatting fixes

* Fix tests

* Resolve feedback
* feat: deprecate & disable duplicate-id / duplicate-id-active

* Use wcag2a-obsolete tag
* feat: add EN.301.549 tags to rules

* Add proper tag validation

* Docs

* Update tag validation

* Change to "EN-301-549"
…ontext (#4072)

* fix(utils/clone): don't try to clone elements from different window context

* weakmap

* don't use cache between calls

* use strict equal

* use strict equal

* cache

* create on internal

* typo
* feat: add rule aria-deprecated-role

* more tests

* Update lib/rules/aria-deprecated-role.json

Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>

* run build

---------

Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>
…lement (#4083)

* Add doc-glossary to allowed roles for aside element

updates html-elms.js

* Update aria-allowed-role.html

adds doc-glossary passing example

* Update aria-allowed-role.json

adds pass-aside-doc-glossary to match aria-allowed-role.html ID
* fix(color-contrast): correctly handle flex and position

* typos

* indentation

* tests
* fix(color-contrast): get text stoke from offset shadows

* Apply suggestions from code review

Co-authored-by: Dan Bjorge <dan.bjorge@deque.com>

* Refactor & cleanup

* Have partial text-shadows report as incomplete

* Ignore thin shadows on one side of text

* Resolve feedback

---------

Co-authored-by: Dan Bjorge <dan.bjorge@deque.com>
* chore: enable eslint:no-shadow

* moar

* finalize

* fix

* Apply suggestions from code review

Co-authored-by: Stephen Mathieson <571265+stephenmathieson@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>

* 🤖 Automated formatting fixes

---------

Co-authored-by: Stephen Mathieson <571265+stephenmathieson@users.noreply.github.com>
Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>
Co-authored-by: straker <straker@users.noreply.github.com>
* feat(aria-prohibited-attr): add rule aria-prohibited-attr

* fix act

* fixes

* Apply suggestions from code review

Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>

---------

Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>
* fix(d.ts): target selector type for shadow dom

Before shadow dom support string[] was the correct type for the
returned selectors. From code we can see that SerialDqElement.selector
is used to populate this, so the type should also be the same.

* feat(d.ts): add missing properties to the RelatedNode interface

RelatedNode should have the same selectors and the same element
reference as NodeResult. These are populated in process-aggregate.js.

* fix(d.ts): incomplete message should be optional

I think this was unintentionally changed in #3966. From check
definitions we can see that many of them don't specify the incomplete
message, because they don't have incomplete as a possible result.

* feat(d.ts): add stronger typing to Check evaluate and after functions

More precise types make it easier to write these function in typescript.
With this change, complier knows about this.data, this.async, etc.

* feat(d.ts): allow rule.matches to be a function

Like evaluate and after, matches can also be a string or a function, but
this is not currently represented in types.

* fix(d.ts): tags and actIds should be on Rule and not RuleMetadata

The rule metadata object expected in this.configure and the one returned
by getRules are not the same. From the code we can see that tags and
actIds are read from the rule itself and not from the metadata object.

* feat(d.ts): add types for more utils and commons functions
…copeFilter, take into ancestors with sectioning roles (#4105)

* fix(page-no-duplicate-banner/contentinfo): take into account elements which have ancestors with sectioning roles

* integration tests
* fix(color-contrast): ignore format unicode characters

* comment

* typo

* Apply suggestions from code review

Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>

---------

Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>
* fix(aria-required-childen): test visibility of grandchildren

* Little refactoring

* More refactoring

* Apply suggestions from code review

Co-authored-by: Steven Lambert <2433219+straker@users.noreply.github.com>

* 🤖 Automated formatting fixes

---------

Co-authored-by: Steven Lambert <2433219+straker@users.noreply.github.com>
* fix(color-contrast): process non-rgb color functions

* Update lib/commons/color/parse-text-shadows.js

Co-authored-by: Steven Lambert <2433219+straker@users.noreply.github.com>

* 🤖 Automated formatting fixes

---------

Co-authored-by: Steven Lambert <2433219+straker@users.noreply.github.com>
… of an element to the grid (#4101)

* fix(commons/dom/createGrid): only add the visible, non-overflow areas of an element to the grid

* integration test

* Update test/integration/full/contrast/memory.html

Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>

---------

Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>
* fix: Use correct copyright year

This patch corrects the copyright year included in the built `axe.js` and `axe.min.js` files. Deque Systems, Inc has held the copyright for axe-core since 2015.

* Update lib/intro.stub

Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>

---------

Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>
* feat: add rule aria-conditional-attr

* Virtual rule tests

* Text tweaks aria-conditional-attr

---------

Co-authored-by: Steven Lambert <2433219+straker@users.noreply.github.com>
…braille attributes (#4107)

* feat(new-rule): aria-braille-equivalent finds incorrect uses of aria-braille attributes

* Fix test

* More tests

* Resolve feedback
WilcoFiers and others added 23 commits July 31, 2023 19:00
* chore: modernized rule generator

* Resolve feedback
…-valuetext (#4109)

* fix(aria-valid-attr-value): allow  empty value on aria-braille* & aria-valuetext

* Fix test

* Fix tests
* feat: Deprecate impact on checks, use rules instead

* Update docs
* fix(jsdom): allow axe.setup() without a global window

* Caps matter, silly willy
* feat: allow reporters to error

* fix(reporter): reject handle for consistent error processing
* fix(color-contrast): ignore zero width characters

* fix

* replace affirm font with purpose built zero width 0 char font

* Update lib/commons/text/is-icon-ligature.js

Co-authored-by: Dan Bjorge <dan.bjorge@deque.com>

---------

Co-authored-by: Dan Bjorge <dan.bjorge@deque.com>
* update role allowances for aria-expanded

All roles reviewed to largely remove (but in a few cases add) `aria-expanded` as a supported attribute.  

This matches both work done in ARIA 1.2 to correct for roles that should not have allowed the attribute, while also incorporating some ARIA 1.2 updates where some roles had support for the attribute added.

closes #3339

* fix(aria-allowed-attr): allow aria-expanded on more roles

* Integration tests

* Update lib/standards/aria-roles.js

Co-authored-by: Steven Lambert <2433219+straker@users.noreply.github.com>

* Tweak comments

---------

Co-authored-by: Scott O'Hara <scottaohara@users.noreply.github.com>
Co-authored-by: Steven Lambert <2433219+straker@users.noreply.github.com>
* fix(target-size): update to match new spacing requirements

* working

* tests

* finalize?

* tests

* revert playground

* 🤖 Automated formatting fixes

* Apply suggestions from code review

Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>

* 🤖 Automated formatting fixes

* udpate tests

* dont half minOffset but double return from getOffset

* Apply suggestions from code review

Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>

* 🤖 Automated formatting fixes

* fix tests

* fix test

---------

Co-authored-by: straker <straker@users.noreply.github.com>
Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>
* chore(aria-braille-equivalent): Update to be reviewOnFail

* Virtual tests
* fix(dialog-name): get name from header elements

* Never get content from elements with a value

* Fix failing test

* Grrr, prettier

* More tests

* Update test/testutils.js
* fix(target-size): correctly calculate bounding box

* test rectHasMinimumSize

* return early

* comment and refactor

* text

* use neighbor target size

* suggestions

* fix bug
* DqElement.setSerializer initial impl

* implemented and passing integration tests

* Separated nodeSerializer

* Cleanup & tests

* prevent html: "Undefined" when noHtml is set

* Update test/core/public/run-partial.js

* Tweaks

* Change to nodeSerializer.update

* WIP: Delay DqElement serialization

* Delay node serialization

* Tweak

* Simplify a bit further

* Cleanup

* Improve performance

* Update raw reporter

* DqElement in checkHelper

* Update lib/core/utils/check-helper.js

Co-authored-by: Steven Lambert <2433219+straker@users.noreply.github.com>

* Update lib/core/utils/dq-element.js

* Update lib/core/utils/node-serializer.js

Co-authored-by: Steven Lambert <2433219+straker@users.noreply.github.com>

---------

Co-authored-by: Wilco Fiers <wilco.fiers@deque.com>
Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>
Co-authored-by: Steven Lambert <2433219+straker@users.noreply.github.com>
Change \"role=text\" to role=\"text\"
* Chore(i18n): Update and correct Japanese translation

Remove whitespaces between English words and Japanese characters as agreed previously: #3319

rules/accesskeys: wording change

rules/aria-focus-hidden: wording change

rules/aria-input-field-name/help: wording change

rules/aria-roledescription/help: wording change

rules/aria-text/description: make the location of the double-quotes consistent with the original text.

rules/aria-toggle-field-name/help: change wording

rules/aria-tooltip-name/description: wording change

rules/aria-treeitem-name/description: wording changes

rules/blink/help: correct translation

rules/color-contrast-enhanced: correct translation

rules/color-contrast: correct translation

rules/css-orientation-lock/help: wording change

rules/definition-list/help: correct translation

rules/duplicate-id-active: wording changes

rules/duplicate-id-aria/description: wording change

rules/focus-order-semantics: correct translation

rules/form-field-multiple-labels/help: wording change

rules/frame-focusable-content: correct translation

rules/frame-tested/help: change wording

rules/frame-title: correct translation

rules/hidden-content* correct translation

rules/identical-links-same-purpose: correct translation

rules/label-title-only/description: correct translation

rules/landmark-complementary-is-top-level/help: wording change

rules/landmark-one-main/description: correct translation

rules/landmark-unique/description: correct translation.

rules/link-in-text-block: correct translation

rules/meta-refresh-no-exceptions: correct translation

rules/meta-refresh: correct translation

rules/meta-viewport-large/help: correct translation

rules/meta-viewport: correct translation

rules/nested-interactive: correct translation

rules/no-autoplay-audio/help: correct translation

rules/p-as-heading: correct translation

rules/presentation-role-conflict: correct translation

rules/role-img-alt: correct translation

rules/scrollable-region-focusable: correct translation

rules/svg-img-alt/help: correct translation

rules/tabindex/help: correct translation

rules/table-duplicate-name: correct translation

rules/table-fake-caption/help: correct translation

rules/target-size/help: correct translation

rules/td-has-header: correct translation

rules/td-headers-attr: correct translation

rules/th-has-data-cells: swap the content of help and description to be consistent with the original.

checks/aria-allowed-attr/incomplete: correct translation

checks/aria-allowed-role/{fail,incomplete: correct translation

checks/aria-busy/fail: correct translation

checks/aria-errormessage{pass,fail}: correct translation

checks/aria-required-children/fail/unallowed: sync with the en version

checks/aria-allowed-attr/incomplete: correct translation

checks/deprecatedrole/pass: correct translation

checks/has-global-aria-attribute: correct translation

checks/color-contrast-enhanced/incomplete/pseudoContent: consistent wording with other phrases

checks/color-contrast/incomplete/pseudoContent: consistent wording with other phrases

checks/pseudoContent/pass: consistent wording with other phrases

checks/link-in-text-block/incomplete/{default,bgColorContrast}: correct translation

checks/accesskeys: correct translation

checks/focusable-disabled: correct translation

checks/focusable-modal-open: correct translation

checks/focusable-not-tabbable: correct translation

checks/landmark-is-top-level/fail: correct translation

checks/page-has-main/pass: correct translation

checks/alt-space-value/fail: correct translation

checks/explicit-label: correct translation

checks/help-same-as-label: correct translation

checks/hidden-explicit-label: correct translation

checks/multiple-label/fail: correct translation

checks/landmark-is-unique/pass: correct translation

checks/listitem/fail/roleNotValid: correct translation

checks/only-dlitems: correct translation

checks/only-listitems: correct translation

checks/caption/incomplete: correct translation

checks/no-autoplay-audio: correct translation

checks/css-orientation-lock: correct translation

checks/target-offset: correct translation

checks/target-size: correct translation

checks/header-present: correct translation

checks/identical-links-same-purpose/incomplete: correct translation

checks/identical-links-same-purpose: correct translation

Make the translation of the oword "present" consistent throughout the file.

checks/meta-refresh-no-exceptions/fail: correct translation

checks/meta-refresh/fail: correct translation

checks/p-as-heading/fail: correct translation

checks/duplicate-id-aria: correct translation

checks/duplicate-id: correct translation

checks/button-has-visible-text/{pass,fail}: correct translation

checks/has-alt: correct translation

checks/important-letter-spacing: correct translation

checks/important-line-height: correct translation

checks/important-word-spacing: correct translation

checks/non-empty-alt/pass: correct translation

checks/non-empty-if-present: correct translation

checks/non-empty-placeholder: correct translation

checks/non-empty-title: correct translation

checks/non-empty-value: correct translation

checks/presentational-role: correct translation

checks/svg-non-empty-title: correct translation

checks/caption-faked/pass: typo fix

failureSummary/incompleteFallbackMessage: correct translation

Make the translation for "role attribute" consistent throughout the file.

Add ja translation for checks/aria-conditional-attr

* Add translation for checks/link-in-text-block-style/incomplete

* Add ja translation for rules/aria-deprecated-role

* Add ja translation for checks/color-contrast/incomplete/complexTextShadows

* Update locales/ja.json

Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>

* checks/aria-allowed-role/imcomplete: make the wording consistent between singular and plural

* Add translation for rules/aria-prohibited-attr

* Add translations for rules/aria-braille-equivalent, rules/aria-conditional-attr, checks/braille-label-equivalent, and checks/braille-roledescription-equivalent

* Update locales/ja.json

Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>

* Update checks/braille-roledescription-equivalent/pass to make it inline with the changes introduced by PR #4133

* Correct the error in the previous commit.

---------

Co-authored-by: Masafumi Max NAKANE <ma10@users.noreply.github.com>
Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>
…4144)

* Replace name='value' with name=\"value\"
* don't enclose name=value in single quotes
* chore(i18n): Update pl.json

* minor text revision

* modified as suggested:

* 1. the texts of the help and descriptions have been synchronised
2. redundant characters "`" removed
3. updated to latest version 4.7.2

* Update locales/pl.json

Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>

* revert `input-image-alt` as requested

* minor corect

---------

Co-authored-by: Wojciech Smoliński <wojsmol@wp.pl>
Co-authored-by: Wilco Fiers <WilcoFiers@users.noreply.github.com>
* fix: ignore stylesheets fetching when is a inline style

* chore: update comment for jsdom issue

Co-authored-by: Steven Lambert <2433219+straker@users.noreply.github.com>

---------

Co-authored-by: Steven Lambert <2433219+straker@users.noreply.github.com>
@attest-team-ci attest-team-ci requested a review from a team as a code owner September 6, 2023 17:01
Copy link
Contributor

@WilcoFiers WilcoFiers left a comment

@WilcoFiers
Copy link
Contributor

Reviewed for security. Not sure why the Security review thing is busted. Had to bypass.

@WilcoFiers WilcoFiers merged commit 712026e into master Sep 6, 2023
@WilcoFiers WilcoFiers deleted the release-2023-09-06 branch September 6, 2023 17:37
@dylanb
Copy link
Contributor

dylanb commented Feb 1, 2024

reviewed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.