Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

axe-core

Package Overview
Dependencies
Maintainers
4
Versions
1377
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

axe-core - npm Package Compare versions

Comparing version 4.9.1-canary.23b43dc to 4.9.1-canary.2f5b7c3

23

axe.d.ts

@@ -73,12 +73,15 @@ // Type definitions for axe-core

type SelectorList = Array<Selector | FramesSelector> | NodeList;
type ContextProp = Selector | SelectorList;
type ContextObject =
| {
include: Selector | SelectorList;
exclude?: Selector | SelectorList;
include: ContextProp;
exclude?: ContextProp;
}
| {
exclude: Selector | SelectorList;
include?: Selector | SelectorList;
exclude: ContextProp;
include?: ContextProp;
};
type ElementContext = Selector | SelectorList | ContextObject;
type ContextSpec = ContextProp | ContextObject;
/** Synonym to ContextSpec */
type ElementContext = ContextSpec;

@@ -410,2 +413,12 @@ type SerialSelector =

getStandards(): Required<Standards>;
isContextSpec: (context: unknown) => context is ContextSpec;
isContextObject: (context: unknown) => context is ContextObject;
isContextProp: (context: unknown) => context is ContextProp;
isLabelledFramesSelector: (
selector: unknown
) => selector is LabelledFramesSelector;
isLabelledShadowDomSelector: (
selector: unknown
) => selector is LabelledShadowDomSelector;
DqElement: new (

@@ -412,0 +425,0 @@ elm: Element,

@@ -5,15 +5,15 @@ {

"accesskeys": {
"description": "Ensures every accesskey attribute value is unique",
"description": "Ensure every accesskey attribute value is unique",
"help": "accesskey attribute value should be unique"
},
"area-alt": {
"description": "Ensures <area> elements of image maps have alternate text",
"description": "Ensure <area> elements of image maps have alternate text",
"help": "Active <area> elements must have alternate text"
},
"aria-allowed-attr": {
"description": "Ensures an element's role supports its ARIA attributes",
"description": "Ensure an element's role supports its ARIA attributes",
"help": "Elements must only use supported ARIA attributes"
},
"aria-allowed-role": {
"description": "Ensures role attribute has an appropriate value for the element",
"description": "Ensure role attribute has an appropriate value for the element",
"help": "ARIA role should be appropriate for the element"

@@ -26,51 +26,51 @@ },

"aria-command-name": {
"description": "Ensures every ARIA button, link and menuitem has an accessible name",
"description": "Ensure every ARIA button, link and menuitem has an accessible name",
"help": "ARIA commands must have an accessible name"
},
"aria-conditional-attr": {
"description": "Ensures ARIA attributes are used as described in the specification of the element's role",
"description": "Ensure ARIA attributes are used as described in the specification of the element's role",
"help": "ARIA attributes must be used as specified for the element's role"
},
"aria-deprecated-role": {
"description": "Ensures elements do not use deprecated roles",
"description": "Ensure elements do not use deprecated roles",
"help": "Deprecated ARIA roles must not be used"
},
"aria-dialog-name": {
"description": "Ensures every ARIA dialog and alertdialog node has an accessible name",
"description": "Ensure every ARIA dialog and alertdialog node has an accessible name",
"help": "ARIA dialog and alertdialog nodes should have an accessible name"
},
"aria-hidden-body": {
"description": "Ensures aria-hidden=\"true\" is not present on the document body.",
"description": "Ensure aria-hidden=\"true\" is not present on the document body.",
"help": "aria-hidden=\"true\" must not be present on the document body"
},
"aria-hidden-focus": {
"description": "Ensures aria-hidden elements are not focusable nor contain focusable elements",
"description": "Ensure aria-hidden elements are not focusable nor contain focusable elements",
"help": "ARIA hidden element must not be focusable or contain focusable elements"
},
"aria-input-field-name": {
"description": "Ensures every ARIA input field has an accessible name",
"description": "Ensure every ARIA input field has an accessible name",
"help": "ARIA input fields must have an accessible name"
},
"aria-meter-name": {
"description": "Ensures every ARIA meter node has an accessible name",
"description": "Ensure every ARIA meter node has an accessible name",
"help": "ARIA meter nodes must have an accessible name"
},
"aria-progressbar-name": {
"description": "Ensures every ARIA progressbar node has an accessible name",
"description": "Ensure every ARIA progressbar node has an accessible name",
"help": "ARIA progressbar nodes must have an accessible name"
},
"aria-prohibited-attr": {
"description": "Ensures ARIA attributes are not prohibited for an element's role",
"description": "Ensure ARIA attributes are not prohibited for an element's role",
"help": "Elements must only use permitted ARIA attributes"
},
"aria-required-attr": {
"description": "Ensures elements with ARIA roles have all required ARIA attributes",
"description": "Ensure elements with ARIA roles have all required ARIA attributes",
"help": "Required ARIA attributes must be provided"
},
"aria-required-children": {
"description": "Ensures elements with an ARIA role that require child roles contain them",
"description": "Ensure elements with an ARIA role that require child roles contain them",
"help": "Certain ARIA roles must contain particular children"
},
"aria-required-parent": {
"description": "Ensures elements with an ARIA role that require parent roles are contained by them",
"description": "Ensure elements with an ARIA role that require parent roles are contained by them",
"help": "Certain ARIA roles must be contained by particular parents"

@@ -83,31 +83,31 @@ },

"aria-roles": {
"description": "Ensures all elements with a role attribute use a valid value",
"description": "Ensure all elements with a role attribute use a valid value",
"help": "ARIA roles used must conform to valid values"
},
"aria-text": {
"description": "Ensures role=\"text\" is used on elements with no focusable descendants",
"description": "Ensure role=\"text\" is used on elements with no focusable descendants",
"help": "\"role=text\" should have no focusable descendants"
},
"aria-toggle-field-name": {
"description": "Ensures every ARIA toggle field has an accessible name",
"description": "Ensure every ARIA toggle field has an accessible name",
"help": "ARIA toggle fields must have an accessible name"
},
"aria-tooltip-name": {
"description": "Ensures every ARIA tooltip node has an accessible name",
"description": "Ensure every ARIA tooltip node has an accessible name",
"help": "ARIA tooltip nodes must have an accessible name"
},
"aria-treeitem-name": {
"description": "Ensures every ARIA treeitem node has an accessible name",
"description": "Ensure every ARIA treeitem node has an accessible name",
"help": "ARIA treeitem nodes should have an accessible name"
},
"aria-valid-attr-value": {
"description": "Ensures all ARIA attributes have valid values",
"description": "Ensure all ARIA attributes have valid values",
"help": "ARIA attributes must conform to valid values"
},
"aria-valid-attr": {
"description": "Ensures attributes that begin with aria- are valid ARIA attributes",
"description": "Ensure attributes that begin with aria- are valid ARIA attributes",
"help": "ARIA attributes must conform to valid names"
},
"audio-caption": {
"description": "Ensures <audio> elements have captions",
"description": "Ensure <audio> elements have captions",
"help": "<audio> elements must have a captions track"

@@ -124,83 +124,83 @@ },

"blink": {
"description": "Ensures <blink> elements are not used",
"description": "Ensure <blink> elements are not used",
"help": "<blink> elements are deprecated and must not be used"
},
"button-name": {
"description": "Ensures buttons have discernible text",
"description": "Ensure buttons have discernible text",
"help": "Buttons must have discernible text"
},
"bypass": {
"description": "Ensures each page has at least one mechanism for a user to bypass navigation and jump straight to the content",
"description": "Ensure each page has at least one mechanism for a user to bypass navigation and jump straight to the content",
"help": "Page must have means to bypass repeated blocks"
},
"color-contrast-enhanced": {
"description": "Ensures the contrast between foreground and background colors meets WCAG 2 AAA enhanced contrast ratio thresholds",
"description": "Ensure the contrast between foreground and background colors meets WCAG 2 AAA enhanced contrast ratio thresholds",
"help": "Elements must meet enhanced color contrast ratio thresholds"
},
"color-contrast": {
"description": "Ensures the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
"description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
"help": "Elements must meet minimum color contrast ratio thresholds"
},
"css-orientation-lock": {
"description": "Ensures content is not locked to any specific display orientation, and the content is operable in all display orientations",
"description": "Ensure content is not locked to any specific display orientation, and the content is operable in all display orientations",
"help": "CSS Media queries must not lock display orientation"
},
"definition-list": {
"description": "Ensures <dl> elements are structured correctly",
"description": "Ensure <dl> elements are structured correctly",
"help": "<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements"
},
"dlitem": {
"description": "Ensures <dt> and <dd> elements are contained by a <dl>",
"description": "Ensure <dt> and <dd> elements are contained by a <dl>",
"help": "<dt> and <dd> elements must be contained by a <dl>"
},
"document-title": {
"description": "Ensures each HTML document contains a non-empty <title> element",
"description": "Ensure each HTML document contains a non-empty <title> element",
"help": "Documents must have <title> element to aid in navigation"
},
"duplicate-id-active": {
"description": "Ensures every id attribute value of active elements is unique",
"description": "Ensure every id attribute value of active elements is unique",
"help": "IDs of active elements must be unique"
},
"duplicate-id-aria": {
"description": "Ensures every id attribute value used in ARIA and in labels is unique",
"description": "Ensure every id attribute value used in ARIA and in labels is unique",
"help": "IDs used in ARIA and labels must be unique"
},
"duplicate-id": {
"description": "Ensures every id attribute value is unique",
"description": "Ensure every id attribute value is unique",
"help": "id attribute value must be unique"
},
"empty-heading": {
"description": "Ensures headings have discernible text",
"description": "Ensure headings have discernible text",
"help": "Headings should not be empty"
},
"empty-table-header": {
"description": "Ensures table headers have discernible text",
"description": "Ensure table headers have discernible text",
"help": "Table header text should not be empty"
},
"focus-order-semantics": {
"description": "Ensures elements in the focus order have a role appropriate for interactive content",
"description": "Ensure elements in the focus order have a role appropriate for interactive content",
"help": "Elements in the focus order should have an appropriate role"
},
"form-field-multiple-labels": {
"description": "Ensures form field does not have multiple label elements",
"description": "Ensure form field does not have multiple label elements",
"help": "Form field must not have multiple label elements"
},
"frame-focusable-content": {
"description": "Ensures <frame> and <iframe> elements with focusable content do not have tabindex=-1",
"description": "Ensure <frame> and <iframe> elements with focusable content do not have tabindex=-1",
"help": "Frames with focusable content must not have tabindex=-1"
},
"frame-tested": {
"description": "Ensures <iframe> and <frame> elements contain the axe-core script",
"description": "Ensure <iframe> and <frame> elements contain the axe-core script",
"help": "Frames should be tested with axe-core"
},
"frame-title-unique": {
"description": "Ensures <iframe> and <frame> elements contain a unique title attribute",
"description": "Ensure <iframe> and <frame> elements contain a unique title attribute",
"help": "Frames must have a unique title attribute"
},
"frame-title": {
"description": "Ensures <iframe> and <frame> elements have an accessible name",
"description": "Ensure <iframe> and <frame> elements have an accessible name",
"help": "Frames must have an accessible name"
},
"heading-order": {
"description": "Ensures the order of headings is semantically correct",
"description": "Ensure the order of headings is semantically correct",
"help": "Heading levels should only increase by one"

@@ -213,7 +213,7 @@ },

"html-has-lang": {
"description": "Ensures every HTML document has a lang attribute",
"description": "Ensure every HTML document has a lang attribute",
"help": "<html> element must have a lang attribute"
},
"html-lang-valid": {
"description": "Ensures the lang attribute of the <html> element has a valid value",
"description": "Ensure the lang attribute of the <html> element has a valid value",
"help": "<html> element must have a valid value for the lang attribute"

@@ -230,3 +230,3 @@ },

"image-alt": {
"description": "Ensures <img> elements have alternate text or a role of none or presentation",
"description": "Ensure <img> elements have alternate text or a role of none or presentation",
"help": "Images must have alternate text"

@@ -239,56 +239,56 @@ },

"input-button-name": {
"description": "Ensures input buttons have discernible text",
"description": "Ensure input buttons have discernible text",
"help": "Input buttons must have discernible text"
},
"input-image-alt": {
"description": "Ensures <input type=\"image\"> elements have alternate text",
"description": "Ensure <input type=\"image\"> elements have alternate text",
"help": "Image buttons must have alternate text"
},
"label-content-name-mismatch": {
"description": "Ensures that elements labelled through their content must have their visible text as part of their accessible name",
"description": "Ensure that elements labelled through their content must have their visible text as part of their accessible name",
"help": "Elements must have their visible text as part of their accessible name"
},
"label-title-only": {
"description": "Ensures that every form element has a visible label and is not solely labeled using hidden labels, or the title or aria-describedby attributes",
"description": "Ensure that every form element has a visible label and is not solely labeled using hidden labels, or the title or aria-describedby attributes",
"help": "Form elements should have a visible label"
},
"label": {
"description": "Ensures every form element has a label",
"description": "Ensure every form element has a label",
"help": "Form elements must have labels"
},
"landmark-banner-is-top-level": {
"description": "Ensures the banner landmark is at top level",
"description": "Ensure the banner landmark is at top level",
"help": "Banner landmark should not be contained in another landmark"
},
"landmark-complementary-is-top-level": {
"description": "Ensures the complementary landmark or aside is at top level",
"description": "Ensure the complementary landmark or aside is at top level",
"help": "Aside should not be contained in another landmark"
},
"landmark-contentinfo-is-top-level": {
"description": "Ensures the contentinfo landmark is at top level",
"description": "Ensure the contentinfo landmark is at top level",
"help": "Contentinfo landmark should not be contained in another landmark"
},
"landmark-main-is-top-level": {
"description": "Ensures the main landmark is at top level",
"description": "Ensure the main landmark is at top level",
"help": "Main landmark should not be contained in another landmark"
},
"landmark-no-duplicate-banner": {
"description": "Ensures the document has at most one banner landmark",
"description": "Ensure the document has at most one banner landmark",
"help": "Document should not have more than one banner landmark"
},
"landmark-no-duplicate-contentinfo": {
"description": "Ensures the document has at most one contentinfo landmark",
"description": "Ensure the document has at most one contentinfo landmark",
"help": "Document should not have more than one contentinfo landmark"
},
"landmark-no-duplicate-main": {
"description": "Ensures the document has at most one main landmark",
"description": "Ensure the document has at most one main landmark",
"help": "Document should not have more than one main landmark"
},
"landmark-one-main": {
"description": "Ensures the document has a main landmark",
"description": "Ensure the document has a main landmark",
"help": "Document should have one main landmark"
},
"landmark-unique": {
"help": "Ensures landmarks are unique",
"description": "Landmarks should have a unique role or role/label/title (i.e. accessible name) combination"
"description": "Ensure landmarks are unique",
"help": "Landmarks should have a unique role or role/label/title (i.e. accessible name) combination"
},

@@ -300,43 +300,43 @@ "link-in-text-block": {

"link-name": {
"description": "Ensures links have discernible text",
"description": "Ensure links have discernible text",
"help": "Links must have discernible text"
},
"list": {
"description": "Ensures that lists are structured correctly",
"description": "Ensure that lists are structured correctly",
"help": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements"
},
"listitem": {
"description": "Ensures <li> elements are used semantically",
"description": "Ensure <li> elements are used semantically",
"help": "<li> elements must be contained in a <ul> or <ol>"
},
"marquee": {
"description": "Ensures <marquee> elements are not used",
"description": "Ensure <marquee> elements are not used",
"help": "<marquee> elements are deprecated and must not be used"
},
"meta-refresh-no-exceptions": {
"description": "Ensures <meta http-equiv=\"refresh\"> is not used for delayed refresh",
"description": "Ensure <meta http-equiv=\"refresh\"> is not used for delayed refresh",
"help": "Delayed refresh must not be used"
},
"meta-refresh": {
"description": "Ensures <meta http-equiv=\"refresh\"> is not used for delayed refresh",
"description": "Ensure <meta http-equiv=\"refresh\"> is not used for delayed refresh",
"help": "Delayed refresh under 20 hours must not be used"
},
"meta-viewport-large": {
"description": "Ensures <meta name=\"viewport\"> can scale a significant amount",
"description": "Ensure <meta name=\"viewport\"> can scale a significant amount",
"help": "Users should be able to zoom and scale the text up to 500%"
},
"meta-viewport": {
"description": "Ensures <meta name=\"viewport\"> does not disable text scaling and zooming",
"description": "Ensure <meta name=\"viewport\"> does not disable text scaling and zooming",
"help": "Zooming and scaling must not be disabled"
},
"nested-interactive": {
"description": "Ensures interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies",
"description": "Ensure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies",
"help": "Interactive controls must not be nested"
},
"no-autoplay-audio": {
"description": "Ensures <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio",
"description": "Ensure <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio",
"help": "<video> or <audio> elements must not play automatically"
},
"object-alt": {
"description": "Ensures <object> elements have alternate text",
"description": "Ensure <object> elements have alternate text",
"help": "<object> elements must have alternate text"

@@ -357,11 +357,11 @@ },

"region": {
"description": "Ensures all page content is contained by landmarks",
"description": "Ensure all page content is contained by landmarks",
"help": "All page content should be contained by landmarks"
},
"role-img-alt": {
"description": "Ensures [role=\"img\"] elements have alternate text",
"description": "Ensure [role=\"img\"] elements have alternate text",
"help": "[role=\"img\"] elements must have an alternative text"
},
"scope-attr-valid": {
"description": "Ensures the scope attribute is used correctly on tables",
"description": "Ensure the scope attribute is used correctly on tables",
"help": "scope attribute should be used correctly"

@@ -374,7 +374,7 @@ },

"select-name": {
"description": "Ensures select element has an accessible name",
"description": "Ensure select element has an accessible name",
"help": "Select element must have an accessible name"
},
"server-side-image-map": {
"description": "Ensures that server-side image maps are not used",
"description": "Ensure that server-side image maps are not used",
"help": "Server-side image maps must not be used"

@@ -386,8 +386,12 @@ },

},
"summary-name": {
"description": "Ensure summary elements have discernible text",
"help": "Summary elements must have discernible text"
},
"svg-img-alt": {
"description": "Ensures <svg> elements with an img, graphics-document or graphics-symbol role have an accessible text",
"description": "Ensure <svg> elements with an img, graphics-document or graphics-symbol role have an accessible text",
"help": "<svg> elements with an img role must have an alternative text"
},
"tabindex": {
"description": "Ensures tabindex attribute values are not greater than 0",
"description": "Ensure tabindex attribute values are not greater than 0",
"help": "Elements should not have tabindex greater than zero"

@@ -397,3 +401,3 @@ },

"description": "Ensure the <caption> element does not contain the same text as the summary attribute",
"help": "tables should not have the same summary and caption"
"help": "Tables should not have the same summary and caption"
},

@@ -405,3 +409,3 @@ "table-fake-caption": {

"target-size": {
"description": "Ensure touch target have sufficient size and space",
"description": "Ensure touch targets have sufficient size and space",
"help": "All touch targets must be 24px large, or leave sufficient space"

@@ -422,7 +426,7 @@ },

"valid-lang": {
"description": "Ensures lang attributes have valid values",
"description": "Ensure lang attributes have valid values",
"help": "lang attribute must have a valid value"
},
"video-caption": {
"description": "Ensures <video> elements have captions",
"description": "Ensure <video> elements have captions",
"help": "<video> elements must have captions"

@@ -478,5 +482,5 @@ }

"incomplete": {
"singular": "ensure aria-errormessage value `${data.values}` references an existing element",
"plural": "ensure aria-errormessage values `${data.values}` reference existing elements",
"idrefs": "unable to determine if aria-errormessage element exists on the page: ${data.values}"
"singular": "Ensure aria-errormessage value `${data.values}` references an existing element",
"plural": "Ensure aria-errormessage values `${data.values}` reference existing elements",
"idrefs": "Unable to determine if aria-errormessage element exists on the page: ${data.values}"
}

@@ -696,8 +700,9 @@ },

"autocomplete-appropriate": {
"pass": "the autocomplete value is on an appropriate element",
"fail": "the autocomplete value is inappropriate for this type of input"
"pass": "The autocomplete value is on an appropriate element",
"fail": "The autocomplete value is inappropriate for this type of input"
},
"autocomplete-valid": {
"pass": "the autocomplete attribute is correctly formatted",
"fail": "the autocomplete attribute is incorrectly formatted"
"fail": "the autocomplete attribute is incorrectly formatted",
"incomplete": "the autocomplete attribute has a non-standard value. Check whether any standard value could be used instead."
},

@@ -980,3 +985,3 @@ "accesskeys": {

"fail": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty",
"incomplete": "ensure aria-labelledby references an existing element"
"incomplete": "Ensure aria-labelledby references an existing element"
},

@@ -1064,3 +1069,3 @@ "avoid-inline-spacing": {

"presentational-role": {
"pass": "Element's default semantics were overriden with role=\"${data.role}\"",
"pass": "Element's default semantics were overridden with role=\"${data.role}\"",
"fail": {

@@ -1075,7 +1080,7 @@ "default": "Element's default semantics were not overridden with role=\"none\" or role=\"presentation\"",

"role-none": {
"pass": "Element's default semantics were overriden with role=\"none\"",
"pass": "Element's default semantics were overridden with role=\"none\"",
"fail": "Element's default semantics were not overridden with role=\"none\""
},
"role-presentation": {
"pass": "Element's default semantics were overriden with role=\"presentation\"",
"pass": "Element's default semantics were overridden with role=\"presentation\"",
"fail": "Element's default semantics were not overridden with role=\"presentation\""

@@ -1082,0 +1087,0 @@ },

{
"name": "axe-core",
"description": "Accessibility engine for automated Web UI testing",
"version": "4.9.1-canary.23b43dc",
"version": "4.9.1-canary.2f5b7c3",
"license": "MPL-2.0",

@@ -79,2 +79,4 @@ "engines": {

"build": "grunt",
"patch": "npx patch-package",
"unpatch": "npx patch-package --reverse",
"eslint": "eslint --color --format stylish '{lib,test,build,doc}/**/*.js' 'Gruntfile.js'",

@@ -114,3 +116,3 @@ "test": "npm run test:tsc && run-s \"test:unit:* -- {@}\" --",

"fmt": "prettier --write .",
"prepare": "husky",
"prepare": "husky && npm run patch",
"prebuild": "node ./build/check-node-version.js",

@@ -176,2 +178,3 @@ "pretest": "node ./build/check-node-version.js",

"outdent": "^0.8.0",
"patch-package": "^8.0.0",
"prettier": "^3.0.3",

@@ -178,0 +181,0 @@ "revalidator": "^0.3.1",

@@ -382,6 +382,6 @@ {

},
"4.9.1-canary.23b43dc": {
"axe.js": "sha256-0ni/kjsSCFeGzsqPiS62Q9x85241X8VEY/Cf1bylBUs=",
"axe.min.js": "sha256-lNfDkF/Lw3ksgXaNnRV+Sxv+9WKGzT1NcPpt/UObE6o="
"4.9.1-canary.2f5b7c3": {
"axe.js": "sha256-Z6Tra1qOYcAnR2Bee99cl9/Wfku1v/+0XEdC07q1OGU=",
"axe.min.js": "sha256-SAQviCsKz6O3jzfDvMyIC+ItCwaXHfQXijlu+hWE/qA="
}
}

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc