Skip to content

fix(axe.d.ts): make enabled property of RuleMetadata optional - #5129

Merged
straker merged 9 commits into
developfrom
fix-types-rulemetadata-enabled
Jun 9, 2026
Merged

fix(axe.d.ts): make enabled property of RuleMetadata optional#5129
straker merged 9 commits into
developfrom
fix-types-rulemetadata-enabled

Conversation

@straker

@straker straker commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

This was an accidental breaking change if anyone uses RuleMetadata directly.

@straker
straker requested a review from a team as a code owner June 1, 2026 21:35
Comment thread typings/axe-core/axe-core-tests.ts
Comment thread axe.d.ts

@chutchins25 chutchins25 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work — the RuleMetadata.enabled revert is the right call. A couple of questions on the getRules() re-typing and audit access; neither is a hard blocker.

PR checklist (repo conventions):

  • Unit tests — added experimental / deprecated cases in test/core/public/get-rules.js
  • Type tests — added RuleMetadata structure assertion in typings/axe-core/axe-core-tests.ts
  • Commit formatfix(axe.d.ts): … conforms to Angular convention
  • i18n / locales/_template.json — N/A, no message changes
  • Integration / Shadow DOM tests — N/A, public-API/type change, not a rule
  • ⚠️ Type-test coverage gap — the new Required<> return type isn't exercised against a rule without actIds (see inline); a .actIds assertion would lock the contract
  • 🔸 doc/API.md (optional) — getRules() now reports enabled: false for default-excluded tags; a one-line note there would document the behavior

Comment thread axe.d.ts Outdated
Comment thread lib/core/public/get-rules.js Outdated

@WilcoFiers WilcoFiers left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See @chutchins25 's comment

straker and others added 2 commits June 4, 2026 10:11
Co-authored-by: Chris Hutchins <[email protected]>
@straker
straker merged commit 90fce18 into develop Jun 9, 2026
23 checks passed
@straker
straker deleted the fix-types-rulemetadata-enabled branch June 9, 2026 15:38
@straker straker mentioned this pull request Jun 9, 2026
WilcoFiers added a commit that referenced this pull request Jun 10, 2026
### Bug Fixes

- **axe.d.ts:** make enabled property of RuleMetadata optional
([#5129](#5129))
([7eb3d2d](7eb3d2d))
pull Bot pushed a commit to Oleksandr-prog/axe-core that referenced this pull request Jun 10, 2026
…abs#5129)

This was an accidental breaking change if anyone uses `RuleMetadata`
directly.

---------

Co-authored-by: Jonathan Garbee <[email protected]>
Co-authored-by: Chris Hutchins <[email protected]>
Co-authored-by: Wilco Fiers <[email protected]>
@pomerantsev

Copy link
Copy Markdown
Contributor

Thanks all for both the runtime and type-level fixes, and sorry about the regression.

WilcoFiers added a commit that referenced this pull request Aug 5, 2026
All notable changes to this project will be documented in this file. See
[commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version)
for commit guidelines.

##
[4.13.0](v4.12.1...v4.13.0)
(2026-08-05)

### Features

- **aria-actions:** add aria-actions to allowed ARIA attributes
([#5200](#5200))
([029655d](029655d)),
closes [#4584](#4584)
[#5199](#5199), references
[#5215](#5215)
[#5215](#5215)
- **aria-allowed-attr:** flag deprecated ARIA attributes as needs-review
([#5246](#5246))
([518f3cc](518f3cc)),
closes [#3341](#3341)
- **aria-prohibited-attr:** allow many elements to be named and disallow
label and body from being named
([#5259](#5259))
([d8b1ea5](d8b1ea5))
- **aria-roles:** add sectionheader and sectionfooter roles
([#5238](#5238))
([c36c109](c36c109)),
closes [#4734](#4734),
references [#4734](#4734)
- **aria/get-aria-value:** new function to get aria values of a node
([#5109](#5109))
([a7d8f3e](a7d8f3e)),
references [#5042](#5042)
- **aria/has-attr-value:** new function to check if node has aria value
([#5136](#5136))
([61f2624](61f2624)),
references [#5109](#5109)
- **aria:** support role=image as equivalent to role=img
([#5248](#5248))
([5aa8aaf](5aa8aaf)),
closes [#4656](#4656),
references [#5272](#5272)
- **checks/aria:** support ARIA element internals properties
([#5172](#5172))
([9b7f754](9b7f754))
- **checks/label:** support ARIA element internals properties
([#5170](#5170))
([21c5f8b](21c5f8b))
- **checks/navigation:** support ARIA element internals properties
([#5167](#5167))
([2c3a98f](2c3a98f))
- **commons/aria:** support ARIA element internals properties
([#5171](#5171))
([31f09e7](31f09e7))
- **commons/dom:** support ARIA element internals properties
([#5163](#5163))
([f0a12cf](f0a12cf))
- **commons/forms:** support ARIA element internals properties
([#5165](#5165))
([27a4686](27a4686))
- **commons/matches/fromPrimative:** deprecate in favor of correct
spelling ([#5270](#5270))
([31cfb2e](31cfb2e))
- **commons/text:** support ARIA element internals properties
([#5169](#5169))
([e841a33](e841a33))
- **commons/text:** support form-associated labels via element internals
([#5182](#5182))
([57cfe0a](57cfe0a)),
closes [#5045](#5045),
references [#5170](#5170)
[#5039](#5039)
[#5151](#5151)
[#5039](#5039)
- **dom/getResolvedRefs:** new function to get the resolved virtual
nodes of idrefs
([#5151](#5151))
([489cdea](489cdea)),
references [#5109](#5109)
- **element-internals:** enable ElementInternals by default
([#5284](#5284))
([2740d42](2740d42)),
closes [#5277](#5277)
- **i18n:** Add Swedish locale
([#5190](#5190))
([dcd13f2](dcd13f2)),
references [#5189](#5189)
- **matches:** add inSectioningContent, hasChild, and
isSummaryForDetails matches
([#5262](#5262))
([c47cdcd](c47cdcd))
- **rules:** support ARIA element internals properties
([#5168](#5168))
([065baf7](065baf7))
- **standards/ariaAttrs:** add caseInsensitive property for attributes
([#5224](#5224))
([bcd791c](bcd791c))

### Bug Fixes

- **aria-allowed-role:** allow roles on a non-details summary
([#5242](#5242))
([3bd9875](3bd9875)),
closes [#3911](#3911),
references [#3443](#3443)
[#3911](#3911)
- **aria-allowed-role:** restrict figure roles with child figcaption
([#5240](#5240))
([178a635](178a635)),
closes [#3443](#3443)
- **aria-prohibited-attr:** visible aria-labelledby requires review only
([#5285](#5285))
([fd6fa9f](fd6fa9f))
- **axe.d.ts:** make enabled property of RuleMetadata optional
([#5129](#5129))
([90fce18](90fce18))
- **color-contrast:** fix various stacking context bugs
([#5214](#5214))
([d5e5b04](d5e5b04)),
references [#8](#8)
[#5213](#5213)
- **gather-internals:** handle non-HTMLElement nodes
([#5161](#5161))
([06e84c3](06e84c3))
- **get-selector:** escape control characters in attribute selectors
([#5273](#5273))
([4b60ac5](4b60ac5)),
closes [#5204](#5204)
[#5204](#5204)
- **image-alt:** allow whitespace alt on presentational images
([#5218](#5218))
([c5dd0ef](c5dd0ef)),
closes [#5216](#5216)
- **landmark-unique:** exclude section/form with non-landmark roles from
landmark match
([#5085](#5085))
([c5fd013](c5fd013)),
closes [#4722](#4722)
[#5064](#5064)
- name the image role in role-img-alt and svg-img-alt metadata
([#5279](#5279))
([995a269](995a269)),
closes [#5272](#5272),
references [#5248](#5248)
[#5248](#5248)
- **standards:** update aria-errormessage and aria-details to be idrefs
([#5157](#5157))
([fb94f8a](fb94f8a))

This PR was opened by a robot 🤖 🎉
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.

5 participants