Update checked-in dependencies
This commit is contained in:
parent
3e913ef09d
commit
9660df3fcc
990 changed files with 74805 additions and 60149 deletions
66
node_modules/axe-core/LICENSE-3RD-PARTY.txt
generated
vendored
Normal file
66
node_modules/axe-core/LICENSE-3RD-PARTY.txt
generated
vendored
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
-----------------------------------------------------------------------------
|
||||
MIT License
|
||||
Applies to:
|
||||
- colorjs.io; Copyright (c) 2021 Lea Verou, Chris Lilley
|
||||
- core-js-pure; Copyright (c) 2014-2023 Denis Pushkarev
|
||||
- css-selector-parser; Copyright (c) 2013 Dulin Marat
|
||||
- doT.js; Copyright (c) 2011 Laura Doktorova
|
||||
Software includes portions from jQote2 Copyright (c) 2010 aefxx,
|
||||
http://aefxx.com/ licensed under the MIT license.
|
||||
- emoji-regex; Copyright (c) Mathias Bynens <https://mathiasbynens.be/>
|
||||
- es6-iterator; Copyright (c) 2013-2017 Mariusz Nowak (www.medikoo.com)
|
||||
- es6-promise;
|
||||
Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors
|
||||
- event-emitter; Copyright (C) 2012-2015 Mariusz Nowak (www.medikoo.com)
|
||||
- is-promise; Copyright (c) 2014 Forbes Lindesay
|
||||
- lru-queue; Copyright (C) 2014 Mariusz Nowak (www.medikoo.com)
|
||||
- typedarray;
|
||||
Copyright (c) 2010, Linden Research, Inc.
|
||||
Copyright (c) 2012, Joshua Bell
|
||||
- weakmap-polyfill; Copyright (c) 2015-2021 polygonplanet
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
ISC License
|
||||
Applies to:
|
||||
- d; Copyright (c) 2013-2019, Mariusz Nowak, @medikoo, medikoo.com
|
||||
- es5-ext; Copyright (c) 2011-2022, Mariusz Nowak, @medikoo, medikoo.com
|
||||
- es6-symbol; Copyright (c) 2013-2019, Mariusz Nowak, @medikoo, medikoo.com
|
||||
- es6-weak-map; Copyright (c) 2013-2018, Mariusz Nowak, @medikoo, medikoo.com
|
||||
- ext; Copyright (c) 2011-2022, Mariusz Nowak, @medikoo, medikoo.com
|
||||
- memoizee; Copyright (c) 2012-2018, Mariusz Nowak, @medikoo, medikoo.com
|
||||
- next-tick; Copyright (c) 2012-2020, Mariusz Nowak, @medikoo, medikoo.com
|
||||
- timers-ext; Copyright (c) 2013-2018, Mariusz Nowak, @medikoo, medikoo.com
|
||||
- type; Copyright (c) 2019, Mariusz Nowak, @medikoo, medikoo.com
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
||||
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
32
node_modules/axe-core/README.md
generated
vendored
32
node_modules/axe-core/README.md
generated
vendored
|
|
@ -1,10 +1,10 @@
|
|||
# axe-core
|
||||
|
||||
[](LICENSE)
|
||||
[](LICENSE)
|
||||
[](https://www.npmjs.com/package/axe-core)
|
||||
[](https://www.npmjs.com/package/axe-core)
|
||||
[](https://npm-stat.com/charts.html?package=axe-core&from=2017-01-01)
|
||||
[](https://github.com/dequelabs/axe-core/commits/develop)
|
||||
[](https://github.com/dequelabs/axe-core/graphs/contributors)
|
||||
[](https://github.com/dequelabs/axe-core/graphs/contributors)
|
||||
[](https://accessibility.deque.com/axe-community)
|
||||
[](https://packagequality.com/#?package=axe-core)
|
||||
|
||||
|
|
@ -14,14 +14,12 @@ Axe is an accessibility testing engine for websites and other HTML-based user in
|
|||
|
||||
## The Accessibility Rules
|
||||
|
||||
Axe-core has different types of rules, for WCAG 2.0 and 2.1 on level A and AA, as well as a number of best practices that help you identify common accessibility practices like ensuring every page has an `h1` heading, and to help you avoid "gotchas" in ARIA like where an ARIA attribute you used will get ignored.
|
||||
Axe-core has different types of rules, for WCAG 2.0, 2.1, 2.2 on level A, AA and AAA as well as a number of best practices that help you identify common accessibility practices like ensuring every page has an `h1` heading, and to help you avoid "gotchas" in ARIA like where an ARIA attribute you used will get ignored. The complete list of rules, grouped WCAG level and best practice, can found in [doc/rule-descriptions.md](./doc/rule-descriptions.md).
|
||||
|
||||
With axe-core, you can find **on average 57% of WCAG issues automatically**. Additionally, axe-core will return elements as "incomplete" where axe-core could not be certain, and manual review is needed.
|
||||
|
||||
To catch bugs earlier in the development cycle we recommend using the [axe-linter vscode extension](https://marketplace.visualstudio.com/items?itemName=deque-systems.vscode-axe-linter). To improve test coverage even further we recommend the [intelligent guided tests](https://www.youtube.com/watch?v=AtsX0dPCG_4&feature=youtu.be&ab_channel=DequeSystems) in the [axe Extension](https://www.deque.com/axe/browser-extensions/).
|
||||
|
||||
The complete list of rules, grouped WCAG level and best practice, can found in [doc/rule-descriptions.md](./doc/rule-descriptions.md).
|
||||
|
||||
## Getting started
|
||||
|
||||
First download the package:
|
||||
|
|
@ -95,7 +93,7 @@ The [axe-core API](doc/API.md) package consists of:
|
|||
|
||||
## Localization
|
||||
|
||||
Axe can be built using your local language. To do so, a localization file must be added to the `./locales` directory. This file must have be named in the following manner: `<langcode>.json`. To build axe using this locale, instead of the default, run axe with the `--lang` flag, like so:
|
||||
Axe can be built using your local language. To do so, a localization file must be added to the `./locales` directory. This file must be named in the following manner: `<langcode>.json`. To build axe using this locale, instead of the default, run axe with the `--lang` flag, like so:
|
||||
|
||||
`grunt build --lang=nl`
|
||||
|
||||
|
|
@ -103,11 +101,11 @@ or equivalently:
|
|||
|
||||
`npm run build -- --lang=nl`
|
||||
|
||||
This will create a new build for axe, called `axe.<lang>.js` and `axe.<lang>.min.js`. If you want to build localized versions, simply pass in `--all-lang` instead. If you want to build multiple localized versions (but not all of them), you can pass in a comma-separated list of languages to the `--lang` flag, like `--lang=nl,ja`.
|
||||
This will create a new build for axe, called `axe.<lang>.js` and `axe.<lang>.min.js`. If you want to build all localized versions, simply pass in `--all-lang` instead. If you want to build multiple localized versions (but not all of them), you can pass in a comma-separated list of languages to the `--lang` flag, like `--lang=nl,ja`.
|
||||
|
||||
To create a new translation for axe, start by running `grunt translate --lang=<langcode>`. This will create a json file fin the `./locales` directory, with the default English text in it for you to translate. Alternatively, you could copy `./locales/_template.json`. We welcome any localization for axe-core. For details on how to contribute, see the Contributing section below. For details on the message syntax, see [Check Message Template](/docs/check-message-template.md).
|
||||
To create a new translation for axe, start by running `grunt translate --lang=<langcode>`. This will create a json file in the `./locales` directory, with the default English text in it for you to translate. Alternatively, you could copy `./locales/_template.json`. We welcome any localization for axe-core. For details on how to contribute, see the Contributing section below. For details on the message syntax, see [Check Message Template](/doc/check-message-template.md).
|
||||
|
||||
To update existing translation file, re-run `grunt translate --lang=<langcode>`. This will add new messages used in English and remove messages which were not used in English.
|
||||
To update an existing translation file, re-run `grunt translate --lang=<langcode>`. This will add new messages used in English and remove messages which were not used in English.
|
||||
|
||||
Additionally, locale can be applied at runtime by passing a `locale` object to `axe.configure()`. The locale object must be of the same shape as existing locales in the `./locales` directory. For example:
|
||||
|
||||
|
|
@ -151,6 +149,10 @@ Axe-core supports the following locales. Do note that since locales are contribu
|
|||
- Polish
|
||||
- Portuguese (Brazilian)
|
||||
- Spanish
|
||||
- Greek
|
||||
- Italian
|
||||
- Simplified Chinese
|
||||
- Traditional Chinese
|
||||
|
||||
## Updates & Security
|
||||
|
||||
|
|
@ -159,6 +161,10 @@ Axe-core has a new minor release every 3 to 5 months, which usually introduces n
|
|||
- See [release and support](doc/release-and-support.md) for details on the frequency of releases, long-term support and recommendations on upgrading axe-core.
|
||||
- See [backward compatibility](doc/backwards-compatibility-doc.md) for details on the types of changes different releases may introduce.
|
||||
|
||||
## Deque Trademarks Policy
|
||||
|
||||
DEQUE, DEQUELABS, AXE®, and AXE-CORE® are trademarks of Deque Systems, Inc. Use of the Deque trademarks must be in accordance with [Deque's trademark policy](https://www.deque.com/legal/trademarks/).
|
||||
|
||||
## Supported ARIA Roles and Attributes.
|
||||
|
||||
Refer [axe-core ARIA support](./doc/aria-supported.md) for a complete list of ARIA supported roles and attributes by axe.
|
||||
|
|
@ -177,6 +183,8 @@ Read the [documentation on contributing](CONTRIBUTING.md)
|
|||
|
||||
## Acknowledgements
|
||||
|
||||
Thanks to Dulin Marat for his [css-selector-parser](https://www.npmjs.com/package/css-selector-parser) implementation which is included for shadow DOM support.
|
||||
Thanks to Marat Dulin for his [css-selector-parser](https://www.npmjs.com/package/css-selector-parser) implementation which is included for shadow DOM support. Another thank you to the [Slick Parser](https://github.com/mootools/slick/blob/master/Source/Slick.Parser.js) implementers for their contribution, we have used some of their algorithms in our shadow DOM support code. Thanks to Lea Verou and Chris Lilley for their [colorjs.io](https://colorjs.io/) library which we have used for converting between color formats.
|
||||
|
||||
Thanks to the [Slick Parser](https://github.com/mootools/slick/blob/master/Source/Slick.Parser.js) implementers for their contribution, we have used some of their algorithms in our shadow DOM support code.
|
||||
## Licenses
|
||||
|
||||
Axe-core is distributed under the [Mozilla Public License, version 2.0](LICENSE). It comes bundled with several dependencies which are distributed under their own terms. (See [LICENSE-3RD-PARTY.txt](LICENSE-3RD-PARTY.txt))
|
||||
|
|
|
|||
206
node_modules/axe-core/axe.d.ts
generated
vendored
206
node_modules/axe-core/axe.d.ts
generated
vendored
|
|
@ -1,13 +1,12 @@
|
|||
// Type definitions for axe-core
|
||||
// Project: https://github.com/dequelabs/axe-core
|
||||
// Definitions by: Marcy Sutton <https://github.com/marcysutton>
|
||||
|
||||
declare namespace axe {
|
||||
type ImpactValue = 'minor' | 'moderate' | 'serious' | 'critical' | null;
|
||||
|
||||
type TagValue = string;
|
||||
|
||||
type ReporterVersion = 'v1' | 'v2' | 'raw' | 'raw-env' | 'no-passes';
|
||||
type ReporterVersion = 'v1' | 'v2' | 'raw' | 'rawEnv' | 'no-passes';
|
||||
|
||||
type RunOnlyType = 'rule' | 'rules' | 'tag' | 'tags';
|
||||
|
||||
|
|
@ -71,16 +70,19 @@ declare namespace axe {
|
|||
| LabelledShadowDomSelector
|
||||
| LabelledFramesSelector;
|
||||
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;
|
||||
|
||||
type SerialSelector =
|
||||
| BaseSelector
|
||||
|
|
@ -132,7 +134,7 @@ declare namespace axe {
|
|||
interface RunOptions {
|
||||
runOnly?: RunOnly | TagValue[] | string[] | string;
|
||||
rules?: RuleObject;
|
||||
reporter?: ReporterVersion;
|
||||
reporter?: ReporterVersion | string;
|
||||
resultTypes?: resultGroups[];
|
||||
selectors?: boolean;
|
||||
ancestry?: boolean;
|
||||
|
|
@ -141,10 +143,14 @@ declare namespace axe {
|
|||
iframes?: boolean;
|
||||
elementRef?: boolean;
|
||||
frameWaitTime?: number;
|
||||
preload?: boolean;
|
||||
preload?: boolean | PreloadOptions;
|
||||
performanceTimer?: boolean;
|
||||
pingWaitTime?: number;
|
||||
}
|
||||
interface PreloadOptions {
|
||||
assets: string[];
|
||||
timeout?: number;
|
||||
}
|
||||
interface AxeResults extends EnvironmentData {
|
||||
toolOptions: RunOptions;
|
||||
passes: Result[];
|
||||
|
|
@ -164,9 +170,9 @@ declare namespace axe {
|
|||
interface NodeResult {
|
||||
html: string;
|
||||
impact?: ImpactValue;
|
||||
target: string[];
|
||||
target: UnlabelledFrameSelector;
|
||||
xpath?: string[];
|
||||
ancestry?: string[];
|
||||
ancestry?: UnlabelledFrameSelector;
|
||||
any: CheckResult[];
|
||||
all: CheckResult[];
|
||||
none: CheckResult[];
|
||||
|
|
@ -181,8 +187,11 @@ declare namespace axe {
|
|||
relatedNodes?: RelatedNode[];
|
||||
}
|
||||
interface RelatedNode {
|
||||
target: string[];
|
||||
html: string;
|
||||
target: UnlabelledFrameSelector;
|
||||
xpath?: string[];
|
||||
ancestry?: UnlabelledFrameSelector;
|
||||
element?: HTMLElement;
|
||||
}
|
||||
interface RuleLocale {
|
||||
[key: string]: {
|
||||
|
|
@ -190,12 +199,13 @@ declare namespace axe {
|
|||
help: string;
|
||||
};
|
||||
}
|
||||
interface CheckMessages {
|
||||
pass: string | { [key: string]: string };
|
||||
fail: string | { [key: string]: string };
|
||||
incomplete?: string | { [key: string]: string };
|
||||
}
|
||||
interface CheckLocale {
|
||||
[key: string]: {
|
||||
pass: string | { [key: string]: string };
|
||||
fail: string | { [key: string]: string };
|
||||
incomplete: string | { [key: string]: string };
|
||||
};
|
||||
[key: string]: CheckMessages;
|
||||
}
|
||||
interface Locale {
|
||||
lang?: string;
|
||||
|
|
@ -237,7 +247,7 @@ declare namespace axe {
|
|||
}
|
||||
interface Spec {
|
||||
branding?: string | Branding;
|
||||
reporter?: ReporterVersion;
|
||||
reporter?: ReporterVersion | string | AxeReporter;
|
||||
checks?: Check[];
|
||||
rules?: Rule[];
|
||||
standards?: Standards;
|
||||
|
|
@ -256,13 +266,38 @@ declare namespace axe {
|
|||
brand?: string;
|
||||
application?: string;
|
||||
}
|
||||
interface CheckHelper {
|
||||
async: () => (result: boolean | undefined | Error) => void;
|
||||
data: (data: unknown) => void;
|
||||
relatedNodes: (nodes: Element[]) => void;
|
||||
}
|
||||
interface AfterResult {
|
||||
id: string;
|
||||
data?: unknown;
|
||||
relatedNodes: SerialDqElement[];
|
||||
result: boolean | undefined;
|
||||
node: SerialDqElement;
|
||||
}
|
||||
interface Check {
|
||||
id: string;
|
||||
evaluate?: Function | string;
|
||||
after?: Function | string;
|
||||
evaluate?:
|
||||
| string
|
||||
| ((
|
||||
this: CheckHelper,
|
||||
node: Element,
|
||||
options: unknown,
|
||||
virtualNode: VirtualNode
|
||||
) => boolean | undefined | void);
|
||||
after?:
|
||||
| string
|
||||
| ((results: AfterResult[], options: unknown) => AfterResult[]);
|
||||
options?: any;
|
||||
matches?: string;
|
||||
enabled?: boolean;
|
||||
metadata?: {
|
||||
impact?: ImpactValue;
|
||||
messages?: CheckMessages;
|
||||
};
|
||||
}
|
||||
interface Rule {
|
||||
id: string;
|
||||
|
|
@ -275,8 +310,10 @@ declare namespace axe {
|
|||
all?: string[];
|
||||
none?: string[];
|
||||
tags?: string[];
|
||||
matches?: string;
|
||||
matches?: string | ((node: Element, virtualNode: VirtualNode) => boolean);
|
||||
reviewOnFail?: boolean;
|
||||
actIds?: string[];
|
||||
metadata?: Omit<RuleMetadata, 'ruleId' | 'tags' | 'actIds'>;
|
||||
}
|
||||
interface AxePlugin {
|
||||
id: string;
|
||||
|
|
@ -302,6 +339,14 @@ declare namespace axe {
|
|||
xpath: string[];
|
||||
ancestry: UnlabelledFrameSelector;
|
||||
}
|
||||
interface DqElement extends SerialDqElement {
|
||||
element: Element;
|
||||
toJSON(): SerialDqElement;
|
||||
mergeSpecs(
|
||||
childSpec: SerialDqElement,
|
||||
parentSpec: SerialDqElement
|
||||
): SerialDqElement;
|
||||
}
|
||||
interface PartialRuleResult {
|
||||
id: string;
|
||||
result: 'inapplicable';
|
||||
|
|
@ -319,6 +364,47 @@ declare namespace axe {
|
|||
frameSelector: CrossTreeSelector;
|
||||
frameContext: FrameContextObject;
|
||||
}
|
||||
|
||||
interface RawCheckResult extends Omit<CheckResult, 'relatedNodes'> {
|
||||
relatedNodes?: Array<SerialDqElement | DqElement>;
|
||||
}
|
||||
|
||||
interface RawNodeResult<T extends 'passed' | 'failed' | 'incomplete'> {
|
||||
node: SerialDqElement | DqElement;
|
||||
any: RawCheckResult[];
|
||||
all: RawCheckResult[];
|
||||
none: RawCheckResult[];
|
||||
impact: ImpactValue | null;
|
||||
result: T;
|
||||
}
|
||||
|
||||
interface RawResult extends Omit<Result, 'nodes'> {
|
||||
inapplicable: Array<never>;
|
||||
passes: RawNodeResult<'passed'>[];
|
||||
incomplete: RawNodeResult<'incomplete'>[];
|
||||
violations: RawNodeResult<'failed'>[];
|
||||
pageLevel: boolean;
|
||||
result: 'failed' | 'passed' | 'incomplete' | 'inapplicable';
|
||||
}
|
||||
|
||||
type AxeReporter<T = unknown> = (
|
||||
rawResults: RawResult[],
|
||||
option: RunOptions,
|
||||
resolve: (report: T) => void,
|
||||
reject: (error: Error) => void
|
||||
) => void;
|
||||
|
||||
interface VirtualNode {
|
||||
actualNode?: Node;
|
||||
shadowId?: string;
|
||||
children?: VirtualNode[];
|
||||
parent?: VirtualNode;
|
||||
attr(attr: string): string | null;
|
||||
hasAttr(attr: string): boolean;
|
||||
props: { [key: string]: unknown };
|
||||
boundingClientRect: DOMRect;
|
||||
}
|
||||
|
||||
interface Utils {
|
||||
getFrameContexts: (
|
||||
context?: ElementContext,
|
||||
|
|
@ -326,7 +412,55 @@ declare namespace axe {
|
|||
) => FrameContext[];
|
||||
shadowSelect: (selector: CrossTreeSelector) => Element | null;
|
||||
shadowSelectAll: (selector: CrossTreeSelector) => Element[];
|
||||
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 (
|
||||
elm: Element,
|
||||
options?: { absolutePaths?: boolean }
|
||||
) => DqElement;
|
||||
uuid: (
|
||||
options?: { random?: Uint8Array | Array<number> },
|
||||
buf?: Uint8Array | Array<number>,
|
||||
offset?: number
|
||||
) => string | Uint8Array | Array<number>;
|
||||
}
|
||||
|
||||
interface Aria {
|
||||
getRoleType: (role: string | Element | VirtualNode | null) => string | null;
|
||||
}
|
||||
|
||||
interface Dom {
|
||||
isFocusable: (node: Element | VirtualNode) => boolean;
|
||||
isNativelyFocusable: (node: Element | VirtualNode) => boolean;
|
||||
}
|
||||
|
||||
type AccessibleTextOptions = {
|
||||
inControlContext?: boolean;
|
||||
inLabelledByContext?: boolean;
|
||||
};
|
||||
|
||||
interface Text {
|
||||
accessibleText: (
|
||||
element: Element,
|
||||
options?: AccessibleTextOptions
|
||||
) => string;
|
||||
}
|
||||
|
||||
interface Commons {
|
||||
aria: Aria;
|
||||
dom: Dom;
|
||||
text: Text;
|
||||
}
|
||||
|
||||
interface EnvironmentData {
|
||||
testEngine: TestEngine;
|
||||
testRunner: TestRunner;
|
||||
|
|
@ -338,6 +472,7 @@ declare namespace axe {
|
|||
let version: string;
|
||||
let plugins: any;
|
||||
let utils: Utils;
|
||||
let commons: Commons;
|
||||
|
||||
/**
|
||||
* Source string to use as an injected script in Selenium
|
||||
|
|
@ -436,6 +571,35 @@ declare namespace axe {
|
|||
*/
|
||||
function frameMessenger(frameMessenger: FrameMessenger): void;
|
||||
|
||||
/**
|
||||
* Setup axe-core so axe.common functions can work properly.
|
||||
*/
|
||||
function setup(node?: Element | Document): VirtualNode;
|
||||
|
||||
/**
|
||||
* Clean up axe-core tree and caches. `axe.run` will call this function at the end of the run so there's no need to call it yourself afterwards.
|
||||
*/
|
||||
function teardown(): void;
|
||||
|
||||
/**
|
||||
* Check if a reporter is registered
|
||||
*/
|
||||
function hasReporter(reporterName: string): boolean;
|
||||
|
||||
/**
|
||||
* Get a reporter based the name it is registered with
|
||||
*/
|
||||
function getReporter<T>(reporterName: string): AxeReporter<T>;
|
||||
|
||||
/**
|
||||
* Register a new reporter, optionally setting it as the default
|
||||
*/
|
||||
function addReporter<T>(
|
||||
reporterName: string,
|
||||
reporter: AxeReporter<T>,
|
||||
isDefault?: boolean
|
||||
): void;
|
||||
|
||||
// axe.frameMessenger
|
||||
type FrameMessenger = {
|
||||
open: (topicHandler: TopicHandler) => Close | void;
|
||||
|
|
|
|||
21035
node_modules/axe-core/axe.js
generated
vendored
21035
node_modules/axe-core/axe.js
generated
vendored
File diff suppressed because one or more lines are too long
6
node_modules/axe-core/axe.min.js
generated
vendored
6
node_modules/axe-core/axe.min.js
generated
vendored
File diff suppressed because one or more lines are too long
9
node_modules/axe-core/locales/README.md
generated
vendored
Normal file
9
node_modules/axe-core/locales/README.md
generated
vendored
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
# Localizations
|
||||
|
||||
We welcome any localization for axe-core. For details on how to contribute, see the [Contributing section](../README.md#contributing) of the main README. For details on the message syntax, see [Check Message Template](../doc/check-message-template.md).
|
||||
|
||||
To create a new translation for axe, start by running `grunt translate --lang=<langcode>`. This will create a JSON file with the default English text in it for you to translate. Alternatively, you could copy `_template.json`.
|
||||
|
||||
To update an existing translation file, re-run `grunt translate --lang=<langcode>`. This will add new messages used in English and remove messages that are no longer used in English.
|
||||
|
||||
`_template.json` is a generated file which is created every time axe is built. It's compiled using each rule's `description` and `help` properties, as well as each check's `metadata.messages` property. To update the `_template.json` file you'll need to update the corresponding [rule](../lib/rules) or [check](../lib/checks) metadata file and rebuild.
|
||||
296
node_modules/axe-core/locales/_template.json
generated
vendored
296
node_modules/axe-core/locales/_template.json
generated
vendored
|
|
@ -2,59 +2,75 @@
|
|||
"lang": "xyz",
|
||||
"rules": {
|
||||
"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",
|
||||
"help": "Active <area> elements must have alternate text"
|
||||
"description": "Ensure <area> elements of image maps have alternative text",
|
||||
"help": "Active <area> elements must have alternative text"
|
||||
},
|
||||
"aria-allowed-attr": {
|
||||
"description": "Ensures ARIA attributes are allowed for an element's role",
|
||||
"help": "Elements must only use allowed 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"
|
||||
},
|
||||
"aria-braille-equivalent": {
|
||||
"description": "Ensure aria-braillelabel and aria-brailleroledescription have a non-braille equivalent",
|
||||
"help": "aria-braille attributes must have a non-braille equivalent"
|
||||
},
|
||||
"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": "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": "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.",
|
||||
"help": "aria-hidden='true' must not be 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": "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"
|
||||
},
|
||||
"aria-roledescription": {
|
||||
|
|
@ -62,35 +78,35 @@
|
|||
"help": "aria-roledescription must be on elements with a semantic role"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"autocomplete-valid": {
|
||||
|
|
@ -102,87 +118,87 @@
|
|||
"help": "Inline text spacing must be adjustable with custom stylesheets"
|
||||
},
|
||||
"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 contrast ratio thresholds",
|
||||
"help": "Elements must have sufficient color contrast"
|
||||
"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 contrast ratio thresholds",
|
||||
"help": "Elements must have sufficient color contrast"
|
||||
"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"
|
||||
},
|
||||
"hidden-content": {
|
||||
|
|
@ -190,11 +206,11 @@
|
|||
"help": "Hidden content on the page should be analyzed"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"html-xml-lang-mismatch": {
|
||||
|
|
@ -206,116 +222,116 @@
|
|||
"help": "Links with the same name must have a similar purpose"
|
||||
},
|
||||
"image-alt": {
|
||||
"description": "Ensures <img> elements have alternate text or a role of none or presentation",
|
||||
"help": "Images must have alternate text"
|
||||
"description": "Ensure <img> elements have alternative text or a role of none or presentation",
|
||||
"help": "Images must have alternative text"
|
||||
},
|
||||
"image-redundant-alt": {
|
||||
"description": "Ensure image alternative is not repeated as text",
|
||||
"help": "Alternative text of images should not be repeated as text"
|
||||
},
|
||||
"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",
|
||||
"help": "Image buttons must have alternate text"
|
||||
"description": "Ensure <input type=\"image\"> elements have alternative text",
|
||||
"help": "Image buttons must have alternative 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"
|
||||
},
|
||||
"link-in-text-block": {
|
||||
"description": "Ensure links are distinguished from surrounding text in a way that does not rely on color",
|
||||
"help": "Links must be distinguishable without relying on color"
|
||||
},
|
||||
"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",
|
||||
"help": "<object> elements must have alternate text"
|
||||
"description": "Ensure <object> elements have alternative text",
|
||||
"help": "<object> elements must have alternative text"
|
||||
},
|
||||
"p-as-heading": {
|
||||
"description": "Ensure bold, italic text and font-size is not used to style <p> elements as a heading",
|
||||
|
|
@ -330,15 +346,15 @@
|
|||
"help": "Ensure elements marked as presentational are consistently ignored"
|
||||
},
|
||||
"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",
|
||||
"help": "[role='img'] elements must have an alternative text"
|
||||
"description": "Ensure [role=\"img\"] elements have alternative 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"
|
||||
},
|
||||
"scrollable-region-focusable": {
|
||||
|
|
@ -346,35 +362,39 @@
|
|||
"help": "Scrollable region must have keyboard access"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"skip-link": {
|
||||
"description": "Ensure all skip links have a focusable target",
|
||||
"help": "The skip-link target should exist and be focusable"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"table-duplicate-name": {
|
||||
"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"
|
||||
},
|
||||
"table-fake-caption": {
|
||||
"description": "Ensure that tables with a caption use the <caption> element.",
|
||||
"help": "Data or header cells must not be used to give caption to a data table."
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"td-has-header": {
|
||||
|
|
@ -390,11 +410,11 @@
|
|||
"help": "Table headers in a data table must refer to data cells"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
|
|
@ -427,7 +447,15 @@
|
|||
},
|
||||
"aria-busy": {
|
||||
"pass": "Element has an aria-busy attribute",
|
||||
"fail": "Element has no aria-busy=\"true\" attribute"
|
||||
"fail": "Element uses aria-busy=\"true\" while showing a loader"
|
||||
},
|
||||
"aria-conditional-attr": {
|
||||
"pass": "ARIA attribute is allowed",
|
||||
"fail": {
|
||||
"checkbox": "Remove aria-checked, or set it to \"${data.checkState}\" to match the real checkbox state",
|
||||
"rowSingular": "This attribute is supported with treegrid rows, but not ${data.ownerRole}: ${data.invalidAttrs}",
|
||||
"rowPlural": "These attributes are supported with treegrid rows, but not ${data.ownerRole}: ${data.invalidAttrs}"
|
||||
}
|
||||
},
|
||||
"aria-errormessage": {
|
||||
"pass": "aria-errormessage exists and references elements visible to screen readers that use a supported aria-errormessage technique",
|
||||
|
|
@ -437,9 +465,9 @@
|
|||
"hidden": "aria-errormessage value `${data.values}` cannot reference a hidden element"
|
||||
},
|
||||
"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}"
|
||||
}
|
||||
},
|
||||
"aria-hidden-body": {
|
||||
|
|
@ -473,11 +501,14 @@
|
|||
}
|
||||
},
|
||||
"aria-required-children": {
|
||||
"pass": "Required ARIA children are present",
|
||||
"pass": {
|
||||
"default": "Required ARIA children are present",
|
||||
"aria-busy": "Element has an aria-busy attribute, so it is allowed to omit required children"
|
||||
},
|
||||
"fail": {
|
||||
"singular": "Required ARIA child role not present: ${data.values}",
|
||||
"plural": "Required ARIA children role not present: ${data.values}",
|
||||
"unallowed": "Element has children which are not allowed (see related nodes)"
|
||||
"unallowed": "Element has children which are not allowed: ${data.values}"
|
||||
},
|
||||
"incomplete": {
|
||||
"singular": "Expecting ARIA child role to be added: ${data.values}",
|
||||
|
|
@ -511,7 +542,8 @@
|
|||
"noIdShadow": "ARIA attribute element ID does not exist on the page or is a descendant of a different shadow DOM tree: ${data.needsReview}",
|
||||
"ariaCurrent": "ARIA attribute value is invalid and will be treated as \"aria-current=true\": ${data.needsReview}",
|
||||
"idrefs": "Unable to determine if ARIA attribute element ID exists on the page: ${data.needsReview}",
|
||||
"empty": "ARIA attribute value is ignored while empty: ${data.needsReview}"
|
||||
"empty": "ARIA attribute value is ignored while empty: ${data.needsReview}",
|
||||
"controlsWithinPopup": "Unable to determine if aria-controls referenced ID exists on the page while using aria-haspopup: ${data.needsReview}"
|
||||
}
|
||||
},
|
||||
"aria-valid-attr": {
|
||||
|
|
@ -521,6 +553,18 @@
|
|||
"plural": "Invalid ARIA attribute names: ${data.values}"
|
||||
}
|
||||
},
|
||||
"braille-label-equivalent": {
|
||||
"pass": "aria-braillelabel is used on an element with accessible text",
|
||||
"fail": "aria-braillelabel is used on an element with no accessible text",
|
||||
"incomplete": "Unable to compute accessible text"
|
||||
},
|
||||
"braille-roledescription-equivalent": {
|
||||
"pass": "aria-brailleroledescription is used on an element with aria-roledescription",
|
||||
"fail": {
|
||||
"noRoleDescription": "aria-brailleroledescription is used on an element with no aria-roledescription",
|
||||
"emptyRoleDescription": "aria-brailleroledescription is used on an element with an empty aria-roledescription"
|
||||
}
|
||||
},
|
||||
"deprecatedrole": {
|
||||
"pass": "ARIA role is not deprecated",
|
||||
"fail": "The role used is deprecated: ${data}"
|
||||
|
|
@ -603,6 +647,7 @@
|
|||
"bgGradient": "Element's background color could not be determined due to a background gradient",
|
||||
"imgNode": "Element's background color could not be determined because element contains an image node",
|
||||
"bgOverlap": "Element's background color could not be determined because it is overlapped by another element",
|
||||
"complexTextShadows": "Element's contrast could not be determined because it uses complex text shadows",
|
||||
"fgAlpha": "Element's foreground color could not be determined because of alpha transparency",
|
||||
"elmPartiallyObscured": "Element's background color could not be determined because it's partially obscured by another element",
|
||||
"elmPartiallyObscuring": "Element's background color could not be determined because it partially overlaps other elements",
|
||||
|
|
@ -615,6 +660,10 @@
|
|||
},
|
||||
"link-in-text-block-style": {
|
||||
"pass": "Links can be distinguished from surrounding text by visual styling",
|
||||
"incomplete": {
|
||||
"default": "Check if the link needs styling to distinguish it from nearby text",
|
||||
"pseudoContent": "Check if the link's pseudo style is sufficient to distinguish it from the surrounding text"
|
||||
},
|
||||
"fail": "The link has no styling (such as underline) to distinguish it from the surrounding text"
|
||||
},
|
||||
"link-in-text-block": {
|
||||
|
|
@ -633,12 +682,13 @@
|
|||
}
|
||||
},
|
||||
"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."
|
||||
},
|
||||
"accesskeys": {
|
||||
"pass": "Accesskey attribute value is unique",
|
||||
|
|
@ -669,7 +719,7 @@
|
|||
"focusable-not-tabbable": {
|
||||
"pass": "No focusable elements contained within element",
|
||||
"incomplete": "Check if the focusable elements immediately move the focus indicator",
|
||||
"fail": "Focusable content should have tabindex='-1' or be removed from the DOM"
|
||||
"fail": "Focusable content should have tabindex=\"-1\" or be removed from the DOM"
|
||||
},
|
||||
"frame-focusable-content": {
|
||||
"pass": "Element does not have focusable descendants",
|
||||
|
|
@ -684,7 +734,7 @@
|
|||
"pass": "Element does not have focusable descendants",
|
||||
"fail": {
|
||||
"default": "Element has focusable descendants",
|
||||
"notHidden": "Using a negative tabindex on an element inside an interactive control does not prevent assistive technologies from focusing the element (even with 'aria-hidden=true')"
|
||||
"notHidden": "Using a negative tabindex on an element inside an interactive control does not prevent assistive technologies from focusing the element (even with aria-hidden=\"true\")"
|
||||
},
|
||||
"incomplete": "Could not determine if element has descendants"
|
||||
},
|
||||
|
|
@ -721,8 +771,8 @@
|
|||
"fail": "Element contains <img> element with alt text that duplicates existing text"
|
||||
},
|
||||
"explicit-label": {
|
||||
"pass": "Form element has an explicit <label>",
|
||||
"fail": "Form element does not have an explicit <label>",
|
||||
"pass": "Element has an explicit <label>",
|
||||
"fail": "Element does not have an explicit <label>",
|
||||
"incomplete": "Unable to determine if form element has an explicit <label>"
|
||||
},
|
||||
"help-same-as-label": {
|
||||
|
|
@ -735,9 +785,9 @@
|
|||
"incomplete": "Unable to determine if form element has explicit <label> that is hidden"
|
||||
},
|
||||
"implicit-label": {
|
||||
"pass": "Form element has an implicit (wrapped) <label>",
|
||||
"fail": "Form element does not have an implicit (wrapped) <label>",
|
||||
"incomplete": "Unable to determine if form element has an implicit (wrapped} <label>"
|
||||
"pass": "Element has an implicit (wrapped) <label>",
|
||||
"fail": "Element does not have an implicit (wrapped) <label>",
|
||||
"incomplete": "Unable to determine if form element has an implicit (wrapped) <label>"
|
||||
},
|
||||
"label-content-name-mismatch": {
|
||||
"pass": "Element contains visible text as part of it's accessible name",
|
||||
|
|
@ -778,7 +828,7 @@
|
|||
"pass": "List item has a <ul>, <ol> or role=\"list\" parent element",
|
||||
"fail": {
|
||||
"default": "List item does not have a <ul>, <ol> parent element",
|
||||
"roleNotValid": "List item does not have a <ul>, <ol> parent element without a role, or a role=\"list\""
|
||||
"roleNotValid": "List item parent element has a role that is not role=\"list\""
|
||||
}
|
||||
},
|
||||
"only-dlitems": {
|
||||
|
|
@ -821,17 +871,22 @@
|
|||
"fail": "${data} on <meta> tag disables zooming on mobile devices"
|
||||
},
|
||||
"target-offset": {
|
||||
"pass": "Target has sufficient offset from its closest neighbor (${data.closestOffset}px should be at least ${data.minOffset}px)",
|
||||
"fail": "Target has insufficient offset from its closest neighbor (${data.closestOffset}px should be at least ${data.minOffset}px)",
|
||||
"pass": {
|
||||
"default": "Target has sufficient space from its closest neighbors. Safe clickable space has a diameter of ${data.closestOffset}px which is at least ${data.minOffset}px.",
|
||||
"large": "Target far exceeds the minimum size of ${data.minOffset}px."
|
||||
},
|
||||
"fail": "Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of ${data.closestOffset}px instead of at least ${data.minOffset}px.",
|
||||
"incomplete": {
|
||||
"default": "Element with negative tabindex has insufficient offset from its closest neighbor (${data.closestOffset}px should be at least ${data.minOffset}px). Is this a target?",
|
||||
"nonTabbableNeighbor": "Target has insufficient offset from a neighbor with negative tabindex (${data.closestOffset}px should be at least ${data.minOffset}px). Is the neighbor a target?"
|
||||
"default": "Element with negative tabindex has insufficient space to its closest neighbors. Safe clickable space has a diameter of ${data.closestOffset}px instead of at least ${data.minOffset}px. Is this a target?",
|
||||
"nonTabbableNeighbor": "Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of ${data.closestOffset}px instead of at least ${data.minOffset}px. Is the neighbor a target?",
|
||||
"tooManyRects": "Could not get the target size because there are too many overlapping elements"
|
||||
}
|
||||
},
|
||||
"target-size": {
|
||||
"pass": {
|
||||
"default": "Control has sufficient size (${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px)",
|
||||
"obscured": "Control is ignored because it is fully obscured and thus not clickable"
|
||||
"obscured": "Control is ignored because it is fully obscured and thus not clickable",
|
||||
"large": "Target far exceeds the minimum size of ${data.minSize}px."
|
||||
},
|
||||
"fail": {
|
||||
"default": "Target has insufficient size (${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px)",
|
||||
|
|
@ -841,7 +896,8 @@
|
|||
"default": "Element with negative tabindex has insufficient size (${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px). Is this a target?",
|
||||
"contentOverflow": "Element size could not be accurately determined due to overflow content",
|
||||
"partiallyObscured": "Element with negative tabindex has insufficient size because it is partially obscured (smallest space is ${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px). Is this a target?",
|
||||
"partiallyObscuredNonTabbable": "Target has insufficient size because it is partially obscured by a neighbor with negative tabindex (smallest space is ${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px). Is the neighbor a target?"
|
||||
"partiallyObscuredNonTabbable": "Target has insufficient size because it is partially obscured by a neighbor with negative tabindex (smallest space is ${data.width}px by ${data.height}px, should be at least ${data.minSize}px by ${data.minSize}px). Is the neighbor a target?",
|
||||
"tooManyRects": "Could not get the target size because there are too many overlapping elements"
|
||||
}
|
||||
},
|
||||
"header-present": {
|
||||
|
|
@ -910,7 +966,7 @@
|
|||
"aria-labelledby": {
|
||||
"pass": "aria-labelledby attribute exists and references elements that are visible to screen readers",
|
||||
"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"
|
||||
},
|
||||
"avoid-inline-spacing": {
|
||||
"pass": "No inline styles with '!important' that affect text spacing has been specified",
|
||||
|
|
@ -993,7 +1049,7 @@
|
|||
}
|
||||
},
|
||||
"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": {
|
||||
"default": "Element's default semantics were not overridden with role=\"none\" or role=\"presentation\"",
|
||||
"globalAria": "Element's role is not presentational because it has a global ARIA attribute",
|
||||
|
|
@ -1003,11 +1059,11 @@
|
|||
}
|
||||
},
|
||||
"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\""
|
||||
},
|
||||
"svg-non-empty-title": {
|
||||
|
|
|
|||
4
node_modules/axe-core/locales/da.json
generated
vendored
4
node_modules/axe-core/locales/da.json
generated
vendored
|
|
@ -385,7 +385,9 @@
|
|||
}
|
||||
},
|
||||
"aria-required-children": {
|
||||
"pass": "Krævet ARIA-under-elementer er til stede",
|
||||
"pass": {
|
||||
"default": "Krævet ARIA-under-elementer er til stede"
|
||||
},
|
||||
"fail": {
|
||||
"singular": "Krævet ARIA-under-elementers rolle er ikke til stede: ${data.values}",
|
||||
"plural": "Krævet ARIA-under-elements rolle er ikke til stede: ${data.values}"
|
||||
|
|
|
|||
249
node_modules/axe-core/locales/de.json
generated
vendored
249
node_modules/axe-core/locales/de.json
generated
vendored
|
|
@ -17,10 +17,22 @@
|
|||
"description": "Stellt sicher, dass der Wert des role-Attributes für dieses Element geeignet ist.",
|
||||
"help": "Der Wert des role-Attributes muss für dieses Element geeignet sein."
|
||||
},
|
||||
"aria-braille-equivalent": {
|
||||
"description": "Stellt sicher, dass aria-braillelabel und aria-brailleroledescription ein non-braille Äquivalent haben.",
|
||||
"help": "aria-braille Attribute müssen ein non-braille Äquivalent haben."
|
||||
},
|
||||
"aria-command-name": {
|
||||
"description": "Stellt sicher, dass jeder ARIA-button, -link und jedes -menuitem einen zugänglichen Namen (accessible name) hat.",
|
||||
"help": "ARIA Befehle müssen einen zugänglichen Namen (accessible name) besitzen."
|
||||
},
|
||||
"aria-conditional-attr": {
|
||||
"description": "Stellt sicher, dass ARIA-Attribute wie in der Spezifikation der Rolle des Elements beschrieben verwendet werden.",
|
||||
"help": "ARIA-Attribute müssen entsprechend der Rolle des Elements verwendet werden."
|
||||
},
|
||||
"aria-deprecated-role": {
|
||||
"description": "Stellt sicher, dass die Elemente keine veralteten Rollen verwenden.",
|
||||
"help": "Veraltete ARIA-Rollen dürfen nicht verwendet werden."
|
||||
},
|
||||
"aria-dialog-name": {
|
||||
"description": "Stellt sicher, dass jeder ARIA-dialog und -alertdialog Knoten einen zugänglichen Namen (accessible name) hat.",
|
||||
"help": "ARIA-dialog und -alertdialog Knoten müssen einen zugänglichen Namen (accessible name) besitzen."
|
||||
|
|
@ -45,6 +57,10 @@
|
|||
"description": "Stellt sicher, dass jeder ARIA-progressbar Knoten einen zugänglichen Namen (accessible name) besitzt.",
|
||||
"help": "ARIA-progressbar Knoten müssen einen zugänglichen Namen (accessible name) besitzen."
|
||||
},
|
||||
"aria-prohibited-attr": {
|
||||
"description": "Stellt sicher, dass ARIA-Attribute für die Rolle eines Elements nicht verboten sind.",
|
||||
"help": "Elemente dürfen nur erlaubte ARIA-Attribute verwenden."
|
||||
},
|
||||
"aria-required-attr": {
|
||||
"description": "Stellt sicher, dass Elemente mit ARIA-Rollen alle erforderlichen ARIA-Attribute besitzen.",
|
||||
"help": "Erforderliche ARIA-Attribute müssen bereitgestellt werden."
|
||||
|
|
@ -65,6 +81,10 @@
|
|||
"description": "Stellt sicher, dass alle Elemente mit einer ARIA-Rolle auch einen gültigen Wert verwenden.",
|
||||
"help": "Verwendete ARIA-Rollen müssen gültigen Werten entsprechen."
|
||||
},
|
||||
"aria-text": {
|
||||
"description": "Stellt sicher, dass role=\"text\" für Elemente verwendet wird, die keine fokussierbaren Nachkommen (descendants) haben.",
|
||||
"help": "\"role=text\" sollte keine fokussierbaren Nachkommen (descendants) haben."
|
||||
},
|
||||
"aria-toggle-field-name": {
|
||||
"description": "Stellt sicher, dass jedes ARIA-toggle-Feld ein zugänglichen Namen (accessible name) besitzt.",
|
||||
"help": "ARIA-toggle-Felder benötigen einen zugänglichen Namen (accessible name)."
|
||||
|
|
@ -109,14 +129,14 @@
|
|||
"description": "Stellt sicher, dass jede Seite mindestens ein Mittel bereitstellt, welches dem Nutzer erlaubt direkt zum Inhalt der Seite zu springen.",
|
||||
"help": "Wiederholende Blöcke müssen vom Nutzer mit Hilfe von der Seite bereitgestellten Mitteln übersprungen werden können."
|
||||
},
|
||||
"color-contrast": {
|
||||
"description": "Stellt sicher, dass der Kontrast zwischen Vorder- und Hintergrundfarbe den in der WCAG 2 als AA ausgewiesenen Kontrastgrenzwerten entspricht.",
|
||||
"help": "Elemente müssen einen ausreichenden Farbkontrast haben."
|
||||
},
|
||||
"color-contrast-enhanced": {
|
||||
"description": "Stellt sicher, dass der Kontrast zwischen Vorder- und Hintergrundfarbe den in der WCAG 2 als AAA ausgewiesenen Kontrastgrenzwerten entspricht.",
|
||||
"help": "Elemente müssen einen ausreichenden Farbkontrast haben."
|
||||
},
|
||||
"color-contrast": {
|
||||
"description": "Stellt sicher, dass der Kontrast zwischen Vorder- und Hintergrundfarbe den in der WCAG 2 als AA ausgewiesenen Kontrastgrenzwerten entspricht.",
|
||||
"help": "Elemente müssen einen ausreichenden Farbkontrast haben."
|
||||
},
|
||||
"css-orientation-lock": {
|
||||
"description": "Stellt sicher, dass der Inhalt nicht nur auf einer sondern auf allen spezifischen Bildschirmausrichtungen angezeigt werden kann.",
|
||||
"help": "CSS Media Queries dürfen nicht genutzt werden um die Bildschirmausrichtung zu sperren."
|
||||
|
|
@ -149,6 +169,10 @@
|
|||
"description": "Stellt sicher, dass Überschriften einen wahrnehmbaren Text beinhalten.",
|
||||
"help": "Überschriften dürfen nichtleer sein."
|
||||
},
|
||||
"empty-table-header": {
|
||||
"description": "Stellt sicher, dass Tabellenkopfzeilen einen wahrnehmbaren Text beinhalten.",
|
||||
"help": "Tabellenkopfzeilen sollten nicht leer sein."
|
||||
},
|
||||
"focus-order-semantics": {
|
||||
"description": "Stellt sicher, dass Elemente in der Fokusreihenfolge eine geeignete Rolle besitzen.",
|
||||
"help": "Elemente in der Fokusreihenfolge benötigen eine Rolle, die für interaktive Elemente geeignet ist."
|
||||
|
|
@ -157,6 +181,10 @@
|
|||
"description": "Stellt sicher, dass ein form-Feld nur ein label-Element besitzt.",
|
||||
"help": "form-Felder sollten nur ein label-Element besitzen."
|
||||
},
|
||||
"frame-focusable-content": {
|
||||
"description": "Stellt sicher, dass <frame>- und <iframe>-Elemente mit fokussierbarem Inhalt keinen tabindex=-1 haben.",
|
||||
"help": "Frames mit fokussierbarem Inhalt dürfen keinen tabindex=-1 haben."
|
||||
},
|
||||
"frame-tested": {
|
||||
"description": "Stellt sicher, dass <iframe> und <frame>-Elemente das axe-core Script beinhalten.",
|
||||
"help": "Frames müssen mit axe-core getestet werden."
|
||||
|
|
@ -202,8 +230,8 @@
|
|||
"help": "Der Alternativtext von Bildern sollte nicht als Text wiederholt werden."
|
||||
},
|
||||
"input-button-name": {
|
||||
"description": "Stellt sicher, dass Eingabeschaltflächen sichtbaren Text beinhalten.",
|
||||
"help": "Eingabeschaltflächen müssen sichtbaren Text beinhalten."
|
||||
"description": "Stellt sicher, dass Eingabeschaltflächen wahrnehmbaren Text beinhalten.",
|
||||
"help": "Eingabeschaltflächen müssen wahrnehmbaren Text beinhalten."
|
||||
},
|
||||
"input-image-alt": {
|
||||
"description": "Stellt sicher, dass <input type=\"image\">-Elemente einen Alternativtext besitzen.",
|
||||
|
|
@ -262,8 +290,8 @@
|
|||
"help": "Links müssen vom umgebenden Text auf eine Weise unterschieden werden können, die nicht allein auf Farbe beruht."
|
||||
},
|
||||
"link-name": {
|
||||
"description": "Stellt sicher, dass Links wahrnehmbaren Text enthalten.",
|
||||
"help": "Links müssen wahrnehmbaren Text enthalten."
|
||||
"description": "Stellt sicher, dass Links wahrnehmbaren Text beinhalten.",
|
||||
"help": "Links müssen wahrnehmbaren Text beinhalten."
|
||||
},
|
||||
"list": {
|
||||
"description": "Stellt sicher, dass Listen korrekt strukturiert sind.",
|
||||
|
|
@ -277,6 +305,10 @@
|
|||
"description": "Stellt sicher, dass <marquee>-Elemente nicht verwendet werden.",
|
||||
"help": "<marquee>-Elemente sind veraltet und dürfen nicht verwendet werden."
|
||||
},
|
||||
"meta-refresh-no-exceptions": {
|
||||
"description": "Stellt sicher, dass <meta http-equiv=\"refresh\"> nicht für die verzögerte Aktualisierung verwendet wird.",
|
||||
"help": "Die verzögerte Aktualisierung darf nicht verwendet werden."
|
||||
},
|
||||
"meta-refresh": {
|
||||
"description": "Stellt sicher, dass <meta http-equiv=\"refresh\"> nicht verwendet werden.",
|
||||
"help": "Eine zeitgesteuerte Aktualisierung (refresh) sollte nicht verwendet werden."
|
||||
|
|
@ -289,6 +321,10 @@
|
|||
"description": "Stellt sicher, dass <meta name=\"viewport\"> Textskalierung und -zoom nicht verhindert werden.",
|
||||
"help": "Zoomen und Skalieren darf nicht deaktiviert werden."
|
||||
},
|
||||
"nested-interactive": {
|
||||
"description": "Stellt sicher, dass interaktive Steuerelemente nicht verschachtelt (nested) sind, da sie nicht immer von Bildschirmlesegeräten angezeigt werden oder Probleme bei der Fokussierung von Hilfstechnologien verursachen können.",
|
||||
"help": "Interaktive Steuerelemente dürfen nicht verschachtelt (nested) werden."
|
||||
},
|
||||
"no-autoplay-audio": {
|
||||
"description": "Stellt sicher, dass <video> oder <audio> Elemente keine Töne automatisch abspielen für mehr als 3 Sekunden (autoplay) ohne eine Möglichkeit dies zu stoppen.",
|
||||
"help": "<video> oder <audio> Elemente geben keine Töne automatisch aus."
|
||||
|
|
@ -337,6 +373,10 @@
|
|||
"description": "Stellt sicher, dass alle Skip-Links ein fokussierbares Ziel enthalten.",
|
||||
"help": "Das Ziel eines Skip-Links sollte existieren und fokussierbar sein."
|
||||
},
|
||||
"summary-name": {
|
||||
"description": "Stellt sicher, dass die summary-Elemente einen erkennbaren Text haben",
|
||||
"help": "summary-Elemente müssen einen erkennbaren Text haben"
|
||||
},
|
||||
"svg-img-alt": {
|
||||
"description": "Stellt sicher, dass <svg> Elemente mit einer img, graphics-document oder graphics-symbol Rolle einen zugänglichen Namen (accessible name) besitzen.",
|
||||
"help": "<svg> Elemente mit einer img Rolle sollten einen Alternativtext besitzen."
|
||||
|
|
@ -353,6 +393,10 @@
|
|||
"description": "Stellt sicher, dass Tabellen mit einer Beschriftung auch das <caption>-Element verwenden.",
|
||||
"help": "Daten- oder Kopfzellen sollten nicht verwendet werden, um einer Datentabelle eine Überschrift zu geben."
|
||||
},
|
||||
"target-size": {
|
||||
"description": "Stellt sicher, dass Berührungsobjekte (touch targets) ausreichend groß sind und genügend Platz bieteen.",
|
||||
"help": "Alle Berührungsobjekte (touch targets) müssen 24 Pixel groß sein oder ausreichend Platz lassen."
|
||||
},
|
||||
"td-has-header": {
|
||||
"description": "Stellt sicher, dass jede nichtleere Zelle einer Tabelle ein oder mehrere Tabellenköpfe haben.",
|
||||
"help": "In Tabellen, die größer als 3 mal 3 sind, müssen alle nichtleeren <td>-Elemente einen zugehörigen Tabellenkopf haben."
|
||||
|
|
@ -387,7 +431,8 @@
|
|||
"fail": {
|
||||
"singular": "Folgendes ARIA Attribut ist nicht erlaubt: ${data.values}",
|
||||
"plural": "Folgende ARIA Attribute sind nicht erlaubt: ${data.values}"
|
||||
}
|
||||
},
|
||||
"incomplete": "Prüfe, dass es kein Problem gibt, wenn das ARIA-Attribut bei diesem Element ignoriert wird: ${data.values}"
|
||||
},
|
||||
"aria-allowed-role": {
|
||||
"pass": "ARIA Rolle ist für dieses Element erlaubt.",
|
||||
|
|
@ -400,21 +445,54 @@
|
|||
"plural": "ARIA Rollen ${data.values} müssen entfernt werden, wenn das Element sichtbar wird, da sie nicht für dieses Element erlaubt sind."
|
||||
}
|
||||
},
|
||||
"aria-busy": {
|
||||
"pass": "Element hat ein aria-busy-Attribut.",
|
||||
"fail": "Element verwendet aria-busy=\"true\" bei der Anzeige eines Ladevorgangs (loader)."
|
||||
},
|
||||
"aria-conditional-attr": {
|
||||
"pass": "ARIA-Attribut ist erlaubt.",
|
||||
"fail": {
|
||||
"checkbox": "Entferne aria-checked, oder setze es auf \"${data.checkState}\", damit es dem tatsächlichen Zustand des Kontrollkästchens entspricht.",
|
||||
"rowSingular": "Dieses Attribut wird bei treegrid-Zeilen unterstützt, aber nicht bei ${data.ownerRole}: ${data.invalidAttrs}.",
|
||||
"rowPlural": "Diese Attribute werden von treegrid-Zeilen unterstützt, aber nicht von ${data.ownerRole}: ${data.invalidAttrs}"
|
||||
}
|
||||
},
|
||||
"aria-errormessage": {
|
||||
"pass": "aria-errormessage Attribut existiert und referenziert Elemente, die sichtbar für Screen Reader sind, welche die entsprechende Technologie unterstützen.",
|
||||
"fail": {
|
||||
"singular": "aria-errormessage Wert `${data.values}` benötigt eine Möglichkeit um entsprechend vorgeschlagen zu werden (z.B. aria-live, aria-describedby, role=alert, usw.).",
|
||||
"plural": "aria-errormessage Werte `${data.values}` benötigen eine Möglichkeit um entsprechend vorgeschlagen zu werden (z.B. aria-live, aria-describedby, role=alert, usw.)."
|
||||
"plural": "aria-errormessage Werte `${data.values}` benötigen eine Möglichkeit um entsprechend vorgeschlagen zu werden (z.B. aria-live, aria-describedby, role=alert, usw.).",
|
||||
"hidden": "aria-errormessage Wert `${data.values}` kann nicht auf ein verstecktes Element verweisen."
|
||||
},
|
||||
"incomplete": {
|
||||
"singular": "Stellt sicher, dass aria-errormessage Wert `${data.values}` zu einem existierendem Element verweist.",
|
||||
"plural": "Stellt sicher, dass aria-errormessage Werte `${data.values}` zu existierenden Elementen verweisen."
|
||||
"plural": "Stellt sicher, dass aria-errormessage Werte `${data.values}` zu existierenden Elementen verweisen.",
|
||||
"idrefs": "Es konnte nicht festgestellt werden, ob das Element aria-errormessage auf der Seite existiert: ${data.values}"
|
||||
}
|
||||
},
|
||||
"aria-hidden-body": {
|
||||
"pass": "Kein aria-hidden Attribut ist im <body>-Element des Dokuments vorhanden.",
|
||||
"fail": "Das <body>-Element des Dokumentes darf nicht das Attribut aria-hidden=\"true\" besitzen."
|
||||
},
|
||||
"aria-level": {
|
||||
"pass": "aria-level Werte sind gültig.",
|
||||
"incomplete": "Aria-Level Werte größer als 6 werden nicht von allen Screenreader- und Browser-Kombinationen unterstützt."
|
||||
},
|
||||
"aria-prohibited-attr": {
|
||||
"pass": "ARIA-Attribut ist erlaubt",
|
||||
"fail": {
|
||||
"hasRolePlural": "${data.prohibited} Attribute können nicht mit der Rolle \"${data.role}\" verwendet werden.",
|
||||
"hasRoleSingular": "${data.prohibited} Attribut kann nicht mit der Rolle \"${data.role}\" verwendet werden.",
|
||||
"noRolePlural": "${data.prohibited} Attribute können nicht auf ${data.nodeName} ohne gültiges role Attribut verwendet werden.",
|
||||
"noRoleSingular": "${data.prohibited} Attribut kann nicht auf ${data.nodeName} ohne gültiges role Attribut verwendet werden."
|
||||
},
|
||||
"incomplete": {
|
||||
"hasRoleSingular": "${data.prohibited} Attribut wird von der Rolle \"${data.role}\" nicht gut unterstützt.",
|
||||
"hasRolePlural": "${data.prohibited} Attribute werden von der Rolle \"${data.role}\" nicht gut unterstützt.",
|
||||
"noRoleSingular": "${data.prohibited} Attribut wird bei ${data.nodeName} ohne gültiges role Attribute nicht gut unterstützt.",
|
||||
"noRolePlural": "${data.prohibited} Attribute werdeb bei ${data.nodeName} ohne gültiges role Attribute nicht gut unterstützt."
|
||||
}
|
||||
},
|
||||
"aria-required-attr": {
|
||||
"pass": "Alle benötigten ARIA-Attribute sind vorhanden.",
|
||||
"fail": {
|
||||
|
|
@ -423,10 +501,14 @@
|
|||
}
|
||||
},
|
||||
"aria-required-children": {
|
||||
"pass": "Alle benötigten ARIA Kinder sind vorhanden.",
|
||||
"pass": {
|
||||
"default": "Alle benötigten ARIA Kinder sind vorhanden.",
|
||||
"aria-busy": "Element hat ein aria-busy-Attribut, daher ist es erlaubt, erforderliche ARIA Kinder wegzulassen"
|
||||
},
|
||||
"fail": {
|
||||
"singular": "Benötigte ARIA Kindrolle nicht vorhanden: ${data.values}",
|
||||
"plural": "Benötigte ARIA Kindrollen nicht vorhanden: ${data.values}"
|
||||
"plural": "Benötigte ARIA Kindrollen nicht vorhanden: ${data.values}",
|
||||
"unallowed": "Element hat Kinder, die nicht erlaubt sind: ${data.values}"
|
||||
},
|
||||
"incomplete": {
|
||||
"singular": "Entsprechende ARIA Kindrolle muss hinzugefügt werden: ${data.values}",
|
||||
|
|
@ -457,7 +539,11 @@
|
|||
},
|
||||
"incomplete": {
|
||||
"noId": "Verwendete ID im ARIA Attribut existiert nicht auf der Seite: ${data.needsReview}",
|
||||
"ariaCurrent": "Folgendes ARIA Attributwert ist ungültig und wird wie \"aria-current=true\" gesehen: ${data.needsReview}"
|
||||
"noIdShadow": "ARIA-Attribut Element-ID existiert nicht auf der Seite oder ist ein Nachkomme (descendant) eines anderen Schatten-DOM-tree: ${data.needsReview}",
|
||||
"ariaCurrent": "Folgendes ARIA Attributwert ist ungültig und wird wie \"aria-current=true\" gesehen: ${data.needsReview}",
|
||||
"idrefs": "Es konnte nicht festgestellt werden, ob das ARIA-Attribut element ID auf der Seite existiert: ${data.needsReview}",
|
||||
"empty": "ARIA-Attributwert wird ignoriert, wenn leer: ${data.needsReview}",
|
||||
"controlsWithinPopup": "Bei der Verwendung von aria-haspopup konnte nicht festgestellt werden, ob die von aria-controls referenzierte ID auf der Seite existiert: ${data.needsReview}"
|
||||
}
|
||||
},
|
||||
"aria-valid-attr": {
|
||||
|
|
@ -467,9 +553,26 @@
|
|||
"plural": "Ungültige ARIA Attribut Namen: ${data.values}"
|
||||
}
|
||||
},
|
||||
"braille-label-equivalent": {
|
||||
"pass": "aria-braillelabel wird für ein Element mit zugänglichem Text verwendet.",
|
||||
"fail": "aria-braillelabel wird für ein Element ohne zugänglichen Text verwendet.",
|
||||
"incomplete": "Zugänglicher Text kann nicht berechnet werden."
|
||||
},
|
||||
"braille-roledescription-equivalent": {
|
||||
"pass": "aria-brailleroledescription wird für ein Element mit aria-roledescription verwendet.",
|
||||
"fail": {
|
||||
"noRoleDescription": "aria-brailleroledescription wird für ein Element ohne aria-roledescription verwendet.",
|
||||
"emptyRoleDescription": "aria-brailleroledescription wird für ein Element mit einer leeren aria-roledescription verwendet."
|
||||
}
|
||||
},
|
||||
"deprecatedrole": {
|
||||
"pass": "ARIA Rolle ist nicht veraltet.",
|
||||
"fail": "Die verwendete Rolle ist veraltet: ${data}"
|
||||
},
|
||||
"fallbackrole": {
|
||||
"pass": "Nur ein Wert für role genutzt.",
|
||||
"fail": "Es sollte nur ein Wert für role benutzt werden, da Fallback-Werte in älteren Browsern nicht unterstützt werden."
|
||||
"fail": "Es sollte nur ein Wert für role benutzt werden, da Fallback-Werte in älteren Browsern nicht unterstützt werden.",
|
||||
"incomplete": "Verwende nur die Rolle 'presentation' oder 'none', da sie synonym sind."
|
||||
},
|
||||
"has-global-aria-attribute": {
|
||||
"pass": {
|
||||
|
|
@ -505,9 +608,13 @@
|
|||
"pass": "Das Element hat eine gültige Semantik für ein Element in der Fokusreihenfolge.",
|
||||
"fail": "Das Element hat eine ungültige Semantik für ein Element in der Fokusreihenfolge."
|
||||
},
|
||||
"color-contrast": {
|
||||
"color-contrast-enhanced": {
|
||||
"pass": "Das Element hat einen ausreichenden Kontrast von ${data.contrastRatio}.",
|
||||
"fail": "Das Element hat einen unzureichenden Kontrast von ${data.contrastRatio} (Vordergrundfarbe: ${data.fgColor}, Hintergrundfarbe: ${data.bgColor}, Schriftgröße: ${data.fontSize}, Schriftstärke: ${data.fontWeight}).",
|
||||
"fail": {
|
||||
"default": "Das Element hat einen unzureichenden Kontrast von ${data.contrastRatio} (Vordergrundfarbe: ${data.fgColor}, Hintergrundfarbe: ${data.bgColor}, Schriftgröße: ${data.fontSize}, Schriftstärke: ${data.fontWeight}). Erwartetes Kontrastverhältnis von ${data.expectedContrastRatio}",
|
||||
"fgOnShadowColor": "Das Element hat einen unzureichenden Kontrast von ${data.contrastRatio} zwischen der Vordergrund- und der Schattenfarbe (Vordergrundfarbe: ${data.fgColor}, Textschattenfarbe: ${data.shadowColor}, Schriftgröße: ${data.fontSize}, Schriftstärke: ${data.fontWeight}). Erwartetes Kontrastverhältnis von ${data.expectedContrastRatio}",
|
||||
"shadowOnBgColor": "Das Element hat einen unzureichenden Kontrast von ${data.contrastRatio} zwischen der Schattenfarbe und der Hintergrundfarbe (Textschattenfarbe: ${data.shadowColor}, Hintergrundfarbe: ${data.bgColor}, Schriftgröße: ${data.fontSize}, Schriftstärke: ${data.fontWeight}). Erwartetes Kontrastverhältnis von ${data.expectedContrastRatio}"
|
||||
},
|
||||
"incomplete": {
|
||||
"default": "Das Kontrastverhältnis konnte nicht ermittelt werden.",
|
||||
"bgImage": "Die Hintergrundfarbe des Elementes konnte aufgrund eines Hintergrundbildes nicht bestimmt werden.",
|
||||
|
|
@ -524,15 +631,23 @@
|
|||
"pseudoContent": "Die Hintergrundfarbe konnte aufgrund eines pseudo Elementes nicht bestimmt werden."
|
||||
}
|
||||
},
|
||||
"color-contrast-enhanced": {
|
||||
"pass": "Das Element hat einen ausreichenden Kontrast von ${data.contrastRatio}.",
|
||||
"fail": "Das Element hat einen unzureichenden Kontrast von ${data.contrastRatio} (Vordergrundfarbe: ${data.fgColor}, Hintergrundfarbe: ${data.bgColor}, Schriftgröße: ${data.fontSize}, Schriftstärke: ${data.fontWeight}).",
|
||||
"color-contrast": {
|
||||
"pass": {
|
||||
"default": "Das Element hat einen ausreichenden Kontrast von ${data.contrastRatio}.",
|
||||
"hidden": "Das Element ist verstec"
|
||||
},
|
||||
"fail": {
|
||||
"default": "Das Element hat einen unzureichenden Kontrast von ${data.contrastRatio} (Vordergrundfarbe: ${data.fgColor}, Hintergrundfarbe: ${data.bgColor}, Schriftgröße: ${data.fontSize}, Schriftstärke: ${data.fontWeight}). Erwartetes Kontrastverhältnis von ${data.expectedContrastRatio}",
|
||||
"fgOnShadowColor": "Das Element hat einen unzureichenden Kontrast von ${data.contrastRatio} zwischen der Vordergrund- und der Schattenfarbe (Vordergrundfarbe: ${data.fgColor}, Textschattenfarbe: ${data.shadowColor}, Schriftgröße: ${data.fontSize}, Schriftstärke: ${data.fontWeight}). Erwartetes Kontrastverhältnis von ${data.expectedContrastRatio}",
|
||||
"shadowOnBgColor": "Das Element hat einen unzureichenden Kontrast von ${data.contrastRatio} zwischen der Schattenfarbe und der Hintergrundfarbe (Textschattenfarbe: ${data.shadowColor}, Hintergrundfarbe: ${data.bgColor}, Schriftgröße: ${data.fontSize}, Schriftstärke: ${data.fontWeight}). Erwartetes Kontrastverhältnis von ${data.expectedContrastRatio}"
|
||||
},
|
||||
"incomplete": {
|
||||
"default": "Das Kontrastverhältnis konnte nicht ermittelt werden.",
|
||||
"bgImage": "Die Hintergrundfarbe des Elementes konnte aufgrund eines Hintergrundbildes nicht bestimmt werden.",
|
||||
"bgGradient": "Die Hintergrundfarbe des Elementes konnte aufgrund eines Hintergrundfarbverlaufes nicht bestimmt werden.",
|
||||
"imgNode": "Die Hintergrundfarbe des Elementes konnte nicht bestimmt werden, da das Element einen Image Node enthält.",
|
||||
"bgOverlap": "Die Hintergrundfarbe des Elementes konnte nicht bestimmt werden, da es von einem anderen Element überlagert wird.",
|
||||
"complexTextShadows": "Der Kontrast des Elements konnte nicht bestimmt werden, da es komplexe Textschatten verwendet.",
|
||||
"fgAlpha": "Die Vordergrundfarbe des Elementes konnte aufgrund der Alpha-Transparenz nicht ermittelt werden.",
|
||||
"elmPartiallyObscured": "Die Hintergrundfarbe des Elements konnte nicht bestimmt werden, da es teilweise von anderen Elementen überdeckt wird.",
|
||||
"elmPartiallyObscuring": "Die Hintergrundfarbe des Elements konnte nicht bestimmt werden, da es teilweise andere Elemente überdeckt.",
|
||||
|
|
@ -543,9 +658,20 @@
|
|||
"pseudoContent": "Die Hintergrundfarbe konnte aufgrund eines pseudo Elementes nicht bestimmt werden."
|
||||
}
|
||||
},
|
||||
"link-in-text-block-style": {
|
||||
"pass": "Links können durch visuelle Gestaltung vom umgebenden Text unterschieden werden.",
|
||||
"incomplete": {
|
||||
"default": "Prüfe, ob der Link ein Styling benötigt, um sich vom umgebenden Text zu unterscheiden.",
|
||||
"pseudoContent": "Prüfe, ob der Pseudostil des Links ausreicht, um ihn vom umgebenden Text zu unterscheiden."
|
||||
},
|
||||
"fail": "Der Link hat kein Styling (z.B. Unterstreichung), um ihn vom umgebenden Text zu unterscheiden."
|
||||
},
|
||||
"link-in-text-block": {
|
||||
"pass": "Links können vom umgebenenden Text auf unterschiedliche Art und Weise unterschieden werden.",
|
||||
"fail": "Links können (abgesehen von einer farblichen Kennzeichnung) nicht vom umgebenden Text unterschieden werden.",
|
||||
"fail": {
|
||||
"fgContrast": "Der Link hat einen unzureichenden Kontrast von ${data.contrastRatio}:1 mit dem umgebenden Text (Mindestkontrast ist ${data.requiredContrastRatio}:1, Linktext: ${data.nodeColor}, umgebender Text: ${data.parentColor}).",
|
||||
"bgContrast": "Der Link-Hintergrund hat einen unzureichenden Kontrast von ${data.contrastRatio} (Mindestkontrast ist ${data.requiredContrastRatio}:1, Link-Hintergrundfarbe: ${data.nodeBackgroundColor}, umgebende Hintergrundfarbe: ${data.parentBackgroundColor})."
|
||||
},
|
||||
"incomplete": {
|
||||
"default": "Das Kontrastverhältnis konnte nicht ermittelt werden.",
|
||||
"bgContrast": "Das Kontrastverhältnis des Elements konnte nicht bestimmt werden. Suchen Sie nach einem bestimmten Hover/Fokus-Stil.",
|
||||
|
|
@ -561,7 +687,8 @@
|
|||
},
|
||||
"autocomplete-valid": {
|
||||
"pass": "Der Wert des autocomplete Attributes ist korrekt formatiert.",
|
||||
"fail": "Der Wert des autocomplete Attributes ist inkorrekt formatiert."
|
||||
"fail": "Der Wert des autocomplete Attributes ist inkorrekt formatiert.",
|
||||
"incomplete": "Der Wert des autocomplete Attributes hat einen Nicht-Standardwert. Prüfe, ob stattdessen ein Standardwert verwendet werden kann."
|
||||
},
|
||||
"accesskeys": {
|
||||
"pass": "Alle accesskey-Attribute sind einzigartig.",
|
||||
|
|
@ -573,6 +700,7 @@
|
|||
},
|
||||
"focusable-disabled": {
|
||||
"pass": "Das Element beeinhaltet keinen fokussierbaren Inhalt.",
|
||||
"incomplete": "Prüfe, ob die fokussierbaren Elemente den Fokusindikator sofort bewegen.",
|
||||
"fail": "Fokussierbarer Inhalt sollte deaktiviert oder vom DOM entfernt werden."
|
||||
},
|
||||
"focusable-element": {
|
||||
|
|
@ -590,12 +718,26 @@
|
|||
},
|
||||
"focusable-not-tabbable": {
|
||||
"pass": "Keine fokussierbaren Elemente innerhalb des Elements.",
|
||||
"incomplete": "Prüfe, ob die fokussierbaren Elemente den Fokusindikator sofort bewegen.",
|
||||
"fail": "Fokussierbare Elemente sollten mit tabindex='-1' versehen oder vom DOM entfernt werden."
|
||||
},
|
||||
"frame-focusable-content": {
|
||||
"pass": "Element hat keine fokussierbaren Nachkommen (descendants).",
|
||||
"fail": "Element hat fokussierbare Nachkommen (descendants).",
|
||||
"incomplete": "Es konnte nicht festgestellt werden, ob das Element Nachkommen (descendants) hat."
|
||||
},
|
||||
"landmark-is-top-level": {
|
||||
"pass": "Die ${data.role} landmark befindet sich auf höchster Ebene.",
|
||||
"fail": "Die ${data.role} landmark befindet sich innerhalb einer anderen landmark."
|
||||
},
|
||||
"no-focusable-content": {
|
||||
"pass": "Element hat keine fokussierbaren Nachkommen (descendants).",
|
||||
"fail": {
|
||||
"default": "Element hat fokussierbare Nachkommen (descendants).",
|
||||
"notHidden": "Die Verwendung eines negativen Tabindex für ein Element innerhalb eines interaktiven Steuerelements verhindert nicht, dass assistive Technologien das Element fokussieren (selbst bei aria-hidden=\"true\")"
|
||||
},
|
||||
"incomplete": "Es konnte nicht festgestellt werden, ob das Element Nachkommen (descendants) hat."
|
||||
},
|
||||
"page-has-heading-one": {
|
||||
"pass": "Die Seite besitzt mindestens eine Überschrift der ersten Ebene.",
|
||||
"fail": "Die Seite muss eine Überschrift erster Ebene besitzen."
|
||||
|
|
@ -695,10 +837,7 @@
|
|||
},
|
||||
"only-listitems": {
|
||||
"pass": "Das Aufzählungselement besitzt Kinder, welche innerhalb eines <li>-Elements erlaubt sind.",
|
||||
"fail": {
|
||||
"default": "Aufzählungselement besitzt Kinder, welche innerhalb eines <li>-Elements nicht erlaubt sind.",
|
||||
"roleNotValid": "Aufzählungselement besitzt Kinder, welche folgende nicht erlaubte Rollen besitzen: ${data.roles}"
|
||||
}
|
||||
"fail": "Das Aufzählungselement besitzt Kinder, die nicht erlaubt sind: ${data.values}"
|
||||
},
|
||||
"structured-dlitems": {
|
||||
"pass": "Das Definitionslisten-Element enthält sowohl <dt> als auch <dd>-Elemente, falls es nichtleer sein sollte.",
|
||||
|
|
@ -731,13 +870,44 @@
|
|||
"pass": "Der <meta>-Tag blockiert das Zoomen auf mobilen Geräten nicht.",
|
||||
"fail": "Die viewport-Einstellungen im <meta>-Tag blockieren das Zoomen auf mobilen Geräten."
|
||||
},
|
||||
"target-offset": {
|
||||
"pass": {
|
||||
"default": "Das Ziel hat genügend Abstand zu seinen nächsten Nachbarn. Der sichere klickbare Bereich hat einen Durchmesser von ${data.closestOffset}px, der mindestens ${data.minOffset}px beträgt.",
|
||||
"large": "Das Ziel überschreitet bei weitem die Mindestgröße von ${data.minOffset}px."
|
||||
},
|
||||
"fail": "Das Ziel hat nicht genügend Abstand zu seinen nächsten Nachbarn. Der sichere klickbare Bereich hat einen Durchmesser von ${data.closestOffset}px statt mindestens ${data.minOffset}px.",
|
||||
"incomplete": {
|
||||
"default": "Element mit negativem Tabindex hat nicht genügend Abstand zu seinen nächsten Nachbarn. Der sichere klickbare Bereich hat einen Durchmesser von ${data.closestOffset}px statt mindestens ${data.minOffset}px. Ist dies ein Ziel?",
|
||||
"nonTabbableNeighbor": "Das Ziel hat nicht genügend Abstand zu seinen nächsten Nachbarn. Der sichere klickbare Bereich hat einen Durchmesser von ${data.closestOffset}px statt mindestens ${data.minOffset}px. Ist der Nachbar ein Ziel?",
|
||||
"tooManyRects": "Die Zielgröße konnte nicht ermittelt werden, da zu viele überlappende Elemente vorhanden sind."
|
||||
}
|
||||
},
|
||||
"target-size": {
|
||||
"pass": {
|
||||
"default": "Das Steuerelement hat eine ausreichende Größe (${data.width}px x ${data.height}px, sollte mindestens ${data.minSize}px x ${data.minSize}px sein).",
|
||||
"obscured": "Das Steuerelement wird ignoriert, da es vollständig verdeckt ist und daher nicht angeklickt werden kann.",
|
||||
"large": "Das Ziel überschreitet bei weitem die Mindestgröße von ${data.minSize}px."
|
||||
},
|
||||
"fail": {
|
||||
"default": "Das Ziel hat eine unzureichende Größe (${data.width}px x ${data.height}px, sollte mindestens ${data.minSize}px x ${data.minSize}px sein).",
|
||||
"partiallyObscured": "Das Ziel hat eine unzureichende Größe, weil es teilweise verdeckt ist (der kleinste Platz ist ${data.width}px mal ${data.height}px, sollte mindestens ${data.minSize}px mal ${data.minSize}px sein)."
|
||||
},
|
||||
"incomplete": {
|
||||
"default": "Element mit negativem Tabindex hat unzureichende Größe (${data.width}px mal ${data.height}px, sollte mindestens ${data.minSize}px mal ${data.minSize}px sein). Ist dies ein Ziel?",
|
||||
"contentOverflow": "Elementgröße konnte aufgrund von Überlaufinhalten nicht genau bestimmt werden",
|
||||
"partiallyObscured": "Element mit negativem Tabindex hat unzureichende Größe, weil es teilweise verdeckt ist (kleinster Platz ist ${data.width}px mal ${data.height}px, sollte mindestens ${data.minSize}px mal ${data.minSize}px sein). Ist dies ein Ziel?",
|
||||
"partiallyObscuredNonTabbable": "Das Ziel hat eine unzureichende Größe, weil es teilweise von einem Nachbarn mit negativem Tabindex verdeckt wird (der kleinste Platz ist ${data.width}px mal ${data.height}px, sollte mindestens ${data.minSize}px mal ${data.minSize}px sein). Ist der Nachbar ein Ziel?",
|
||||
"tooManyRects": "Die Zielgröße konnte nicht ermittelt werden, da zu viele überlappende Elemente vorhanden sind."
|
||||
}
|
||||
},
|
||||
"header-present": {
|
||||
"pass": "Die Seite besitzt eine Seitenüberschrift.",
|
||||
"fail": "Die Seite besitzt keine Seitenüberschrift."
|
||||
},
|
||||
"heading-order": {
|
||||
"pass": "Die Überschriftenstruktur ist gültig.",
|
||||
"fail": "Die Überschriftenstruktur ist nicht valide."
|
||||
"fail": "Die Überschriftenstruktur ist nicht valide.",
|
||||
"incomplete": "Vorherige Überschrift kann nicht ermittelt werden."
|
||||
},
|
||||
"identical-links-same-purpose": {
|
||||
"pass": "Es befinden sich keine Links auf der Seite, welche mit demselben Namen auf dasselbe Ziel verweisen.",
|
||||
|
|
@ -751,13 +921,18 @@
|
|||
"pass": "Die Seite besitzt eine landmark region.",
|
||||
"fail": "Die Seite besitzt keine landmark region."
|
||||
},
|
||||
"meta-refresh-no-exceptions": {
|
||||
"pass": "<meta> Tag aktualisiert die Seite nicht sofort.",
|
||||
"fail": "<meta> Tag erzwingt eine zeitgesteuerte Aktualisierung der Seite."
|
||||
},
|
||||
"meta-refresh": {
|
||||
"pass": "Der <meta>-Tag erzwingt keine sofortige Aktualisierung der Seite.",
|
||||
"fail": "Der <meta>-Tag erzwingt eine zeitgesteuerte Aktualisierung der Seite."
|
||||
},
|
||||
"p-as-heading": {
|
||||
"pass": "<p>-Elemente werden nicht als Überschriftenelement zweckentfremdet.",
|
||||
"fail": "Anstelle eines Überschriftenelementes wird lediglich ein durch Formatierungen hervorgehobenes <p>-Element verwendet."
|
||||
"fail": "Anstelle eines Überschriftenelementes wird lediglich ein durch Formatierungen hervorgehobenes <p>-Element verwendet.",
|
||||
"incomplete": "Es kann nicht festgestellt werden, ob <p>-Elemente als Überschriften gestylt sind."
|
||||
},
|
||||
"region": {
|
||||
"pass": "Jeglicher Inhalt der Seite befindet sich in einer landmark.",
|
||||
|
|
@ -822,6 +997,18 @@
|
|||
"fail": "Das Element besitzt keinen Text, der für Screenreader sichtbar ist.",
|
||||
"incomplete": "Es ist nicht möglich zu ermitteln, ob das Element Kinder besitzt."
|
||||
},
|
||||
"important-letter-spacing": {
|
||||
"pass": "letter-spacing im style-Attribut ist nicht auf !important gesetzt oder entspricht dem Minimum.",
|
||||
"fail": "letter-spacing im style-Attribut darf nicht !important sein oder muss ${data.minValue}em (aktuell ${data.value}em) entsprechen."
|
||||
},
|
||||
"important-line-height": {
|
||||
"pass": "line-height im style-Attribut ist nicht auf !important gesetzt oder entspricht dem Minimum.",
|
||||
"fail": "line-height im style-Attribut darf nicht !important sein oder muss ${data.minValue}em (aktuell ${data.value}em) entsprechen."
|
||||
},
|
||||
"important-word-spacing": {
|
||||
"pass": "word-spacing im style-Attribut ist nicht auf !important gesetzt oder entspricht dem Minimum.",
|
||||
"fail": "word-spacing im style-Attribut darf nicht !important sein oder muss ${data.minValue}em (aktuell ${data.value}em) entsprechen."
|
||||
},
|
||||
"is-on-screen": {
|
||||
"pass": "Das Element ist nicht sichtbar.",
|
||||
"fail": "Das Element ist sichtbar."
|
||||
|
|
@ -867,7 +1054,8 @@
|
|||
"default": "Die Standardsemantik des Elements wurden nicht mit der Rolle role=\"none\" oder role=\"presentation\" überschrieben.",
|
||||
"globalAria": "Die Rolle des Elements ist nicht präsentativ aufgrund des globalen ARIA Attributs.",
|
||||
"focusable": "Die Rolle des Elements ist nicht präsentativ aufgrund der Möglichkeit es zu fokussieren.",
|
||||
"both": "Die Rolle des Elements ist nicht präsentativ aufgrund des zugewiesenen globalen ARIA Attributs und der Möglichkeit es zu fokussieren."
|
||||
"both": "Die Rolle des Elements ist nicht präsentativ aufgrund des zugewiesenen globalen ARIA Attributs und der Möglichkeit es zu fokussieren.",
|
||||
"iframe": "Die Verwendung des \"title\"-Attributs auf einem ${data.nodeName}-Element mit einer Präsentationsrolle verhält sich inkonsistent zwischen Screenreadern."
|
||||
}
|
||||
},
|
||||
"role-none": {
|
||||
|
|
@ -896,7 +1084,8 @@
|
|||
},
|
||||
"same-caption-summary": {
|
||||
"pass": "Die Inhalte des summary-Attributes und des <caption>-Elementes sind nicht identisch.",
|
||||
"fail": "Die Inhalte des summary-Attributes und des <caption>-Elementes sind identisch."
|
||||
"fail": "Die Inhalte des summary-Attributes und des <caption>-Elementes sind identisch.",
|
||||
"incomplete": "Es kann nicht festgestellt werden, ob das <table>-Element eine Überschrift hat."
|
||||
},
|
||||
"scope-value": {
|
||||
"pass": "Das scope-Attribut wird korrekt verwendet.",
|
||||
|
|
|
|||
1069
node_modules/axe-core/locales/el.json
generated
vendored
Normal file
1069
node_modules/axe-core/locales/el.json
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
4
node_modules/axe-core/locales/es.json
generated
vendored
4
node_modules/axe-core/locales/es.json
generated
vendored
|
|
@ -376,7 +376,9 @@
|
|||
}
|
||||
},
|
||||
"aria-required-children": {
|
||||
"pass": "Los hijos ARIA requeridos están presentes",
|
||||
"pass": {
|
||||
"default": "Los hijos ARIA requeridos están presentes"
|
||||
},
|
||||
"fail": {
|
||||
"singular": "Rol de hijos requerido en ARIA no presente: ${data.values}",
|
||||
"plural": "Rol de hijo requerido en ARIA no presente: ${data.values}"
|
||||
|
|
|
|||
4
node_modules/axe-core/locales/eu.json
generated
vendored
4
node_modules/axe-core/locales/eu.json
generated
vendored
|
|
@ -376,7 +376,9 @@
|
|||
}
|
||||
},
|
||||
"aria-required-children": {
|
||||
"pass": "Eskatutako ARIA semeak bertan daude",
|
||||
"pass": {
|
||||
"default": "Eskatutako ARIA semeak bertan daude"
|
||||
},
|
||||
"fail": {
|
||||
"singular": "Esktatutako ARIARren semeak ez daude : ${data.values}",
|
||||
"plural": "Esktatutako ARIARren semeaez dago : ${data.values}"
|
||||
|
|
|
|||
24
node_modules/axe-core/locales/fr.json
generated
vendored
24
node_modules/axe-core/locales/fr.json
generated
vendored
|
|
@ -113,14 +113,14 @@
|
|||
"description": "Vérifier que chaque page dispose au minimum d’un mécanisme de contournement de la navigation pour accéder directement au contenu",
|
||||
"help": "Chaque page doit fournir des moyens de contourner les contenus répétés"
|
||||
},
|
||||
"color-contrast": {
|
||||
"description": "Vérifier que les contrastes entre le premier plan et l’arrière-plan rencontrent les seuils de contrastes exigés par les WCAG 2 AA",
|
||||
"help": "Les éléments doivent avoir un contraste de couleurs suffisant"
|
||||
},
|
||||
"color-contrast-enhanced": {
|
||||
"description": "Vérifier que les contrastes entre le premier plan et l’arrière-plan rencontrent les seuils de contrastes exigés par les WCAG 2 AAA",
|
||||
"help": "Les éléments doivent avoir un contraste de couleurs suffisant"
|
||||
},
|
||||
"color-contrast": {
|
||||
"description": "Vérifier que les contrastes entre le premier plan et l’arrière-plan rencontrent les seuils de contrastes exigés par les WCAG 2 AA",
|
||||
"help": "Les éléments doivent avoir un contraste de couleurs suffisant"
|
||||
},
|
||||
"css-orientation-lock": {
|
||||
"description": "Vérifier que les contenus ne sont pas limités à une orientation spécifique de l’écran, et que le contenu est utilisable sous toutes les orientations de l’écran",
|
||||
"help": "Les CSS Media queries ne sont pas utilisées pour verrouiller l’orientation de l’écran"
|
||||
|
|
@ -289,9 +289,13 @@
|
|||
"description": "Vérifier que l’élément <marquee> n’est pas utilisé",
|
||||
"help": "L’élément <marquee> est déprécié et ne doit pas être utilisé"
|
||||
},
|
||||
"meta-refresh-no-exceptions": {
|
||||
"description": "Vérifier que <meta http-equiv=\"refresh\"> n’est pas utilisé pour une actualisation différée",
|
||||
"help": "L'actualisation différée ne doit pas être utilisée"
|
||||
},
|
||||
"meta-refresh": {
|
||||
"description": "Vérifier que <meta http-equiv=\"refresh\"> n’est pas utilisé",
|
||||
"help": "La page HTML ne doit pas être actualisée automatiquement"
|
||||
"description": "Vérifier que <meta http-equiv=\"refresh\"> n’est pas utilisé pour une actualisation différée",
|
||||
"help": "L'actualisation différée en dessous de 20 heures ne doit pas être utilisée"
|
||||
},
|
||||
"meta-viewport-large": {
|
||||
"description": "Vérifier que <meta name=\"viewport\"> permet un agrandissement significatif",
|
||||
|
|
@ -369,6 +373,10 @@
|
|||
"description": "Vérifier que les tableaux avec une légende utilisent l’élément <caption>",
|
||||
"help": "Les données ou les cellules d’entête ne devraient pas être utilisées pour légender un tableau de données"
|
||||
},
|
||||
"target-size": {
|
||||
"description": "Vérifier que la cible tactile a une taille et un espace suffisants",
|
||||
"help": "Toutes les cibles tactiles doivent faire 24px de large, ou être suffisamment grandes"
|
||||
},
|
||||
"td-has-header": {
|
||||
"description": "Vérifier que chaque cellule de données non vide dans un tableau de données a une ou plusieurs cellules d’entête",
|
||||
"help": "Chaque élément td non vide dans un tableau plus grand que 3 × 3 doit avoir une cellule d’entête associée"
|
||||
|
|
@ -449,7 +457,9 @@
|
|||
}
|
||||
},
|
||||
"aria-required-children": {
|
||||
"pass": "Les descendants ARIA requis sont présents",
|
||||
"pass": {
|
||||
"default": "Les descendants ARIA requis sont présents"
|
||||
},
|
||||
"fail": {
|
||||
"singular": "Le descendant ARIA requis est manquant : ${data.values}",
|
||||
"plural": "Les descendants ARIA requis sont manquants : ${data.values}"
|
||||
|
|
|
|||
4
node_modules/axe-core/locales/he.json
generated
vendored
4
node_modules/axe-core/locales/he.json
generated
vendored
|
|
@ -465,7 +465,9 @@
|
|||
}
|
||||
},
|
||||
"aria-required-children": {
|
||||
"pass": "ילדי ARIA הדרושים נמצאים",
|
||||
"pass": {
|
||||
"default": "ילדי ARIA הדרושים נמצאים"
|
||||
},
|
||||
"fail": {
|
||||
"singular": "תפקיד ילד ARIA הדרוש אינו נמצא: ${data.values}",
|
||||
"plural": "תפקיד ילדי ARIA הדרושים אינם נמצאים: ${data.values}"
|
||||
|
|
|
|||
1108
node_modules/axe-core/locales/it.json
generated
vendored
Normal file
1108
node_modules/axe-core/locales/it.json
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
540
node_modules/axe-core/locales/ja.json
generated
vendored
540
node_modules/axe-core/locales/ja.json
generated
vendored
File diff suppressed because it is too large
Load diff
4
node_modules/axe-core/locales/ko.json
generated
vendored
4
node_modules/axe-core/locales/ko.json
generated
vendored
|
|
@ -461,7 +461,9 @@
|
|||
}
|
||||
},
|
||||
"aria-required-children": {
|
||||
"pass": "필수 ARIA 하위 항목들이 존재합니다.",
|
||||
"pass": {
|
||||
"default": "필수 ARIA 하위 항목들이 존재합니다."
|
||||
},
|
||||
"fail": {
|
||||
"singular": "필수 ARIA 하위 역할(role)이 없습니다: ${data.values}",
|
||||
"plural": "필수 ARIA 하위 역할(role)들이 없습니다: ${data.values}"
|
||||
|
|
|
|||
4
node_modules/axe-core/locales/no_NB.json
generated
vendored
4
node_modules/axe-core/locales/no_NB.json
generated
vendored
|
|
@ -385,7 +385,9 @@
|
|||
}
|
||||
},
|
||||
"aria-required-children": {
|
||||
"pass": "Påkrevde ARIA-under-elementer er til stede",
|
||||
"pass": {
|
||||
"default": "Påkrevde ARIA-under-elementer er til stede"
|
||||
},
|
||||
"fail": {
|
||||
"singular": "Påkrevd ARIA-under-element sin rolle er ikke til stede: ${data.values}",
|
||||
"plural": "Påkrevde ARIA-under-elementer sine roller er ikke til stede: ${data.values}"
|
||||
|
|
|
|||
422
node_modules/axe-core/locales/pl.json
generated
vendored
422
node_modules/axe-core/locales/pl.json
generated
vendored
|
|
@ -2,7 +2,7 @@
|
|||
"lang": "pl",
|
||||
"rules": {
|
||||
"accesskeys": {
|
||||
"description": "Każdy atrybut accessskey jest unikalny.",
|
||||
"description": "Wartość każdego atrybutu accessskey jest unikalna.",
|
||||
"help": "Wartość atrybutu accessskey musi być unikalna."
|
||||
},
|
||||
"area-alt": {
|
||||
|
|
@ -10,95 +10,111 @@
|
|||
"help": "Elementy aktywne <area> muszą mieć tekst alternatywny."
|
||||
},
|
||||
"aria-allowed-attr": {
|
||||
"description": "Użyte atrybuty ARIA są dozwolone dla roli elementu.",
|
||||
"description": "Użyte atrybuty ARIA są dozwolone dla elementu z określoną rolą.",
|
||||
"help": "Elementy mogą używać tylko dozwolonych atrybutów ARIA."
|
||||
},
|
||||
"aria-allowed-role": {
|
||||
"description": "Atrybut role ma odpowiednią wartość dla danego elementu.",
|
||||
"help": "Rola ARIA musi być odpowiednia dla danego elementu."
|
||||
},
|
||||
"aria-braille-equivalent": {
|
||||
"description": "Upewnij się, że aria-braillelabel i aria-brailleroledescription mają odpowiednik niebrajlowski",
|
||||
"help": "Atrybuty aria-braille muszą mieć odpowiednik niebrajlowski."
|
||||
},
|
||||
"aria-command-name": {
|
||||
"description": "Każdy przycisk, łącze i pozycja menu (menuitem) ARIA ma dostępną nazwę.",
|
||||
"help": "Polecenia ARIA muszą mieć dostępną nazwę."
|
||||
"description": "Każdy element button, link i menuitem ARIA ma dostępną nazwę.",
|
||||
"help": "Przyciski, łącza, pozycje menu ARIA muszą mieć dostępną nazwę."
|
||||
},
|
||||
"aria-conditional-attr": {
|
||||
"description": "Upewnij się, że atrybuty ARIA są używane zgodnie ze specyfikacją roli elementu.",
|
||||
"help": "Atrybuty ARIA muszą być używane w sposób określony dla roli elementu"
|
||||
},
|
||||
"aria-deprecated-role": {
|
||||
"description": "Upewnij się, że elementy nie używają przestarzałych ról.",
|
||||
"help": "Przestarzałe role ARIA nie mogą być używane."
|
||||
},
|
||||
"aria-dialog-name": {
|
||||
"description": "Każde okno dialogowe ARIA i węzeł alertdialog ma dostępną nazwę.",
|
||||
"help": "Okno dialogowe ARIA i węzły alertdialog muszą mieć dostępną nazwę."
|
||||
},
|
||||
"aria-hidden-body": {
|
||||
"description": "Element <body> nie ma atrybutu aria-hidden='true'.",
|
||||
"help": "Element <body> nie może mieć atrybutu aria-hidden='true'."
|
||||
"description": "Element body nie ma atrybutu aria-hidden='true'.",
|
||||
"help": "Element body nie może mieć atrybutu aria-hidden='true'."
|
||||
},
|
||||
"aria-hidden-focus": {
|
||||
"description": "Elementy z aria-hidden nie mogą obejmować elementów przyjmujących fokus.",
|
||||
"description": "Elementy z aria-hidden=true nie mogą obejmować elementów przyjmujących fokus.",
|
||||
"help": "Ukryty element ARIA nie może zawierać elementów przyjmujących fokus."
|
||||
},
|
||||
"aria-input-field-name": {
|
||||
"description": "Każde pole wejściowe ARIA ma dostępną nazwę.",
|
||||
"help": "Pola wejściowe ARIA muszą mieć dostępną nazwę."
|
||||
"description": "Każde pole ARIA do wprowadzania danych ma dostępną nazwę.",
|
||||
"help": "Pola ARIA do wprowadzania danych muszą mieć dostępną nazwę."
|
||||
},
|
||||
"aria-meter-name": {
|
||||
"description": "Każdy licznik (meter) oparty na ARIA ma dostępną nazwę.",
|
||||
"help": "Liczniki (meter) ARIA muszą mieć dostępną nazwę."
|
||||
"description": "Każdy element ARIA meter (licznik) ma dostępną nazwę.",
|
||||
"help": "Liczniki ARIA (meter) muszą mieć dostępne nazwy."
|
||||
},
|
||||
"aria-progressbar-name": {
|
||||
"description": "Każdy pasek postępu (progressbar) ARIA ma dostępną nazwę.",
|
||||
"help": "Paski postępu (progressbar) ARIA muszą mieć dostępną nazwę."
|
||||
"description": "Każdy element ARIA progressbar (pasek postępu) ma dostępną nazwę.",
|
||||
"help": "Paski postępu ARIA (progressbar) muszą mieć dostępne nazwy."
|
||||
},
|
||||
"aria-prohibited-attr": {
|
||||
"description": "Upewnij się, że atrybuty ARIA nie są zabronione dla roli elementu.",
|
||||
"help": "Elementy mogą używać tylko dozwolonych atrybutów ARIA."
|
||||
},
|
||||
"aria-required-attr": {
|
||||
"description": "Elementy z rolami ARIA mają wszystkie wymagane atrybuty ARIA.",
|
||||
"description": "Elementy z rolą ARIA mają wszystkie wymagane atrybuty aria-*",
|
||||
"help": "Wymagane atrybuty ARIA muszą istnieć."
|
||||
},
|
||||
"aria-required-children": {
|
||||
"description": "Elementy z rolą ARIA, które wymagają ról potomnych, zawierają je.",
|
||||
"description": "Elementy z atrybutem ARIA role, które muszą zawierać elementy potomne z wymaganym atrybutem role, zawierają je.",
|
||||
"help": "Niektóre role ARIA muszą obejmować określone dzieci."
|
||||
},
|
||||
"aria-required-parent": {
|
||||
"description": "Elementy z rolą ARIA, które wymagają ról nadrzędnych, są zawarte w elementach z takimi rolami.",
|
||||
"help": "Niektóre role ARIA muszą być wewnątrz określonych elementów rodziców."
|
||||
"description": "Elementy z atrybutem ARIA role, które wymagają elementu rodzica z atrybutem role, są zawarte w elementach z takimi rolami.",
|
||||
"help": "Elementy z niektórymi atrybutami role ARIA muszą znajdować się wewnątrz nadrzędnego elementu rodzica z wymaganym atrybutem role."
|
||||
},
|
||||
"aria-roledescription": {
|
||||
"description": "Atrybut aria-roledescription jest używany tylko w elementach, które mają rolę określoną domyślnie lub jawnie.",
|
||||
"help": "Użyj aria-roledescription w elementach o roli semantycznej."
|
||||
},
|
||||
"aria-roles": {
|
||||
"description": "Wszystkie elementy z atrybutem roli używają prawidłowej wartości tego atrybutu.",
|
||||
"help": "Stosowane role ARIA muszą być zgodne z obowiązującymi wartościami."
|
||||
"description": "Wartości atrybutu role są poprawne.",
|
||||
"help": "Stosowane role ARIA muszą mieć poprawne wartości."
|
||||
},
|
||||
"aria-text": {
|
||||
"description": "Atrybut \"role=text\" jest używany dla elementów, które nie mają potomków przyjmujących fokus",
|
||||
"help": "\"role=text\" nie powinien mieć potomków przyjmujących fokus."
|
||||
"description": "Atrybut role=\"text\" jest używany dla elementów, które nie mają potomków przyjmujących fokus",
|
||||
"help": "Element z atrybutem role=\"text\" nie może mieć potomków przyjmujących fokus."
|
||||
},
|
||||
"aria-toggle-field-name": {
|
||||
"description": "Każdy przełącznik (toggle) ARIA ma dostępną nazwę.",
|
||||
"help": "Przełączniki (toggle) ARIA muszą mieć dostępną nazwę."
|
||||
"description": "Każdy element ARIA toggle (przełącznik) ma dostępną nazwę.",
|
||||
"help": "Przełączniki ARIA (toggle) muszą mieć dostępną nazwę."
|
||||
},
|
||||
"aria-tooltip-name": {
|
||||
"description": "Każda podpowiedź (tooltip) ARIA ma dostępną nazwę.",
|
||||
"help": "Podpowiedzi (tooltip) ARIA muszą mieć dostępną nazwę."
|
||||
"description": "Każdy element ARIA tooltip (podpowiedź) ma dostępną nazwę.",
|
||||
"help": "Podpowiedzi ARIA (tooltip) muszą mieć dostępną nazwę."
|
||||
},
|
||||
"aria-treeitem-name": {
|
||||
"description": "Każdy węzeł drzewa elementów (treeitem) ARIA ma dostępną nazwę.",
|
||||
"help": "Węzły drzewa elementów ARIA muszą mieć dostępną nazwę."
|
||||
"description": "Każdy element ARIA treeitem (węzeł drzewa) ma dostępną nazwę.",
|
||||
"help": "Węzły drzewa elementów ARIA (treeitem) muszą mieć dostępną nazwę."
|
||||
},
|
||||
"aria-valid-attr-value": {
|
||||
"description": "Wszystkie atrybuty ARIA mają poprawne wartości.",
|
||||
"help": "Atrybuty ARIA muszą mieć poprawne wartości."
|
||||
},
|
||||
"aria-valid-attr": {
|
||||
"description": "Atrybuty, które rozpoczynają się od aria-, są poprawnymi atrybutami ARIA.",
|
||||
"help": "Atrybuty ARIA muszą być mieć poprawne nazwy."
|
||||
"description": "Wszystkie atrybuty aria-* mają poprawne nazwy.",
|
||||
"help": "Atrybuty ARIA muszą mieć poprawne nazwy."
|
||||
},
|
||||
"audio-caption": {
|
||||
"description": "Elementy <audio> mają napisy rozszerzone.",
|
||||
"help": "Elementy <audio> muszą mieć ścieżkę z napisami."
|
||||
},
|
||||
"autocomplete-valid": {
|
||||
"description": "Atrybut autocomplete jest poprawny i odpowiedni dla pola formularza.",
|
||||
"description": "Pola formularza, które zbierają dane osobowe, mają poprawne atrybuty autocomplete",
|
||||
"help": "Atrybut autocomplete musi być użyty poprawnie."
|
||||
},
|
||||
"avoid-inline-spacing": {
|
||||
"description": "Odstępy w tekście ustawione za pomocą atrybutów stylu mogą być regulowane za pomocą własnych arkuszy stylów.",
|
||||
"description": "Odstępy w tekście można regulować za pomocą własnych arkuszy stylów.",
|
||||
"help": "Odstępy w tekście muszą być regulowane za pomocą własnych arkuszy stylów."
|
||||
},
|
||||
"blink": {
|
||||
|
|
@ -106,21 +122,21 @@
|
|||
"help": "Elementy <blink> są przestarzałe i nie mogą być używane."
|
||||
},
|
||||
"button-name": {
|
||||
"description": "Przyciski mają odróżniający je tekst.",
|
||||
"help": "Przyciski muszą mieć odróżniający je tekst."
|
||||
"description": "Każdy przycisk ma odróżniającą go dostępną nazwę.",
|
||||
"help": "Przyciski muszą mieć odróżniający je tekst nazwy."
|
||||
},
|
||||
"bypass": {
|
||||
"description": "Każda strona ma co najmniej jeden mechanizm, który pozwala ominąć nawigację i przejść od razu do treści.",
|
||||
"help": "Strona musi mieć środki do ominięcia powtarzających się bloków treści."
|
||||
"help": "Strona musi mieć środki do ominięcia powtarzających bloków treści."
|
||||
},
|
||||
"color-contrast-enhanced": {
|
||||
"description": "Kontrast między kolorami pierwszego planu i tła spełnia wyższe progi współczynnika kontrastu WCAG 2 AAA.",
|
||||
"help": "Elementy muszą spełniać wyższe progi współczynnika kontrastu kolorów"
|
||||
},
|
||||
"color-contrast": {
|
||||
"description": "Kontrast między kolorami pierwszego planu i tła spełnia progi kontrastu WCAG 2 AA.",
|
||||
"help": "Elementy muszą mieć wystarczający kontrast kolorów."
|
||||
},
|
||||
"color-contrast-enhanced": {
|
||||
"description": "Kontrast między kolorami pierwszego planu i tła spełnia progi kontrastu WCAG 2 AAA.",
|
||||
"help": "Elementy muszą mieć wystarczający kontrast kolorów."
|
||||
},
|
||||
"css-orientation-lock": {
|
||||
"description": "Treść nie jest przypisana do żadnej konkretnej orientacji wyświetlacza i można ją obsługiwać we wszystkich orientacjach wyświetlacza.",
|
||||
"help": "Zapytania medialne nie są wykorzystywane do blokowania orientacji wyświetlacza."
|
||||
|
|
@ -139,7 +155,7 @@
|
|||
},
|
||||
"duplicate-id-active": {
|
||||
"description": "Wartość każdego atrybutu id aktywnych elementów jest unikalna.",
|
||||
"help": "ID aktywnych elementów muszą być unikalne."
|
||||
"help": "ID aktywnych elementów, które otrzymują fokus, muszą być unikalne."
|
||||
},
|
||||
"duplicate-id-aria": {
|
||||
"description": "Każdy atrybut id używany w ARIA i w etykietach jest unikalny.",
|
||||
|
|
@ -162,31 +178,31 @@
|
|||
"help": "Elementy w porządku otrzymywania fokusu muszą mieć rolę odpowiednią dla treści interaktywnych."
|
||||
},
|
||||
"form-field-multiple-labels": {
|
||||
"description": "Pole formularza nie ma wielu etykiet (elementów label).",
|
||||
"help": "Pole formularza nie powinno zawierać wielu elementów label."
|
||||
"description": "Żadne pole formularza nie ma wielu etykiet (elementów label).",
|
||||
"help": "Pole formularza nie może mieć wielu elementów label."
|
||||
},
|
||||
"frame-focusable-content": {
|
||||
"description": "Elementy <frame> i <iframe> z treścią przyjmującą fokus nie mają tabindex=-1",
|
||||
"help": "Ramki z treścią przyjmującą fokus nie mogą mieć tabindex=-1"
|
||||
"description": "Elementy <frame> i <iframe> z treścią przyjmującą fokus nie mają tabindex=-1.",
|
||||
"help": "Ramki z treścią przyjmującą fokus nie mogą mieć tabindex=-1."
|
||||
},
|
||||
"frame-tested": {
|
||||
"description": "Elementy <iframe> i <frame> muszą być testowane ze skryptem axe-core.",
|
||||
"help": "Ramki muszą być testowane ze skryptem axe-core."
|
||||
},
|
||||
"frame-title-unique": {
|
||||
"description": "Elementy <frame> i <frame> mają unikalny atrybut title.",
|
||||
"help": "Ramki (frame) muszą mieć unikalny atrybut title."
|
||||
"description": "Elementy <iframe> i <frame> mają unikalny atrybut title.",
|
||||
"help": "Ramki muszą mieć unikalny atrybut title."
|
||||
},
|
||||
"frame-title": {
|
||||
"description": "Elementy <iframe> i <frame> mają niepusty atrybut title.",
|
||||
"help": "Ramki muszą mieć atrybut title."
|
||||
"help": "Ramki muszą mieć niepusty atrybut title."
|
||||
},
|
||||
"heading-order": {
|
||||
"description": "Kolejność nagłówków jest semantycznie poprawna.",
|
||||
"help": "Poziomy nagłówków powinny wzrastać tylko o jeden."
|
||||
},
|
||||
"hidden-content": {
|
||||
"description": "Informuje użytkowników o ukrytych treściach.",
|
||||
"description": "Na stronie są ukryte treści.",
|
||||
"help": "Ukrytych treści na stronie nie można analizować."
|
||||
},
|
||||
"html-has-lang": {
|
||||
|
|
@ -211,7 +227,7 @@
|
|||
},
|
||||
"image-redundant-alt": {
|
||||
"description": "Tekst alternatywny obrazu nie jest powtarzany w tekście.",
|
||||
"help": "Alternatywny tekst obrazów nie powinien być powtarzany w tekście."
|
||||
"help": "Tekst alternatywny obrazów nie powinien być powtarzany w tekście."
|
||||
},
|
||||
"input-button-name": {
|
||||
"description": "Przyciski input type=button mają odróżniający je tekst.",
|
||||
|
|
@ -238,7 +254,7 @@
|
|||
"help": "Punkt orientacyjny banner nie może być zawarty wewnątrz innego obszaru kluczowego."
|
||||
},
|
||||
"landmark-complementary-is-top-level": {
|
||||
"description": "Obszar aside lub obszar z role=complementary są obszarami kluczowymi najwyższego poziomu.",
|
||||
"description": "Obszary aside lub z role=complementary są obszarami kluczowymi najwyższego poziomu.",
|
||||
"help": "Punkt orientacyjny complementary nie może być zawarty wewnątrz innego obszaru kluczowego."
|
||||
},
|
||||
"landmark-contentinfo-is-top-level": {
|
||||
|
|
@ -266,12 +282,12 @@
|
|||
"help": "Dokument może mieć tylko jeden obszar kluczowy main."
|
||||
},
|
||||
"landmark-unique": {
|
||||
"help": "Punkty orientacyjne mają unikalną rolę lub kombinację roli/etykiety/tytułu (tj. dostępną nazwę).",
|
||||
"description": "Punkty orientacyjne (obszary kluczowe) są unikalne."
|
||||
"help": "Punkty orientacyjne są unikalne",
|
||||
"description": "Punkty orientacyjne (obszary kluczowe) mają unikalną rolę lub kombinację roli/etykiety/tytułu (tj. dostępną nazwę)."
|
||||
},
|
||||
"link-in-text-block": {
|
||||
"description": "Łącza można rozróżniać bez opierania się na kolorze.",
|
||||
"help": "Łącza muszą być odróżnialne od otaczającego je tekstu w sposób, który nie opiera się na kolorze."
|
||||
"help": "Łącza muszą być odróżnialne od sąsiadującego tekstu w sposób, który nie opiera się na kolorze."
|
||||
},
|
||||
"link-name": {
|
||||
"description": "Łącza mają odróżniający je tekst.",
|
||||
|
|
@ -289,9 +305,13 @@
|
|||
"description": "Elementy <marquee> nie są używane.",
|
||||
"help": "Elementy <marquee> są przestarzałe i nie mogą być używane."
|
||||
},
|
||||
"meta-refresh-no-exceptions": {
|
||||
"description": "Upewnij się, że <meta http-equiv=\"refresh\"> nie jest używany do opóźnionego odświeżania",
|
||||
"help": "Nie wolno stosować opóźnionego odświeżania"
|
||||
},
|
||||
"meta-refresh": {
|
||||
"description": "<meta http-equiv=\"refresh\"> nie jest stosowane.",
|
||||
"help": "Automatyczne odświeżenie strony nie może być stosowane."
|
||||
"description": "Znacznik <meta http-equiv=\"refresh\"> nie jest używany do opóźnionego odświeżania.",
|
||||
"help": "Opóźnione odświeżanie poniżej 20 godzin nie może być stosowane."
|
||||
},
|
||||
"meta-viewport-large": {
|
||||
"description": "Element <meta name=\"viewport\"> umożliwia znaczne powiększanie.",
|
||||
|
|
@ -302,36 +322,36 @@
|
|||
"help": "Powiększanie i skalowanie nie może być wyłączone."
|
||||
},
|
||||
"nested-interactive": {
|
||||
"description": "Zagnieżdżone interaktywne kontrolki nie są ogłaszane przez czytniki ekranu",
|
||||
"help": "Upewnij się, że kontrolki interaktywne nie są zagnieżdżone"
|
||||
"description": "Upewnij się, że kontrolki interaktywne nie są zagnieżdżone, ponieważ nie zawsze są ogłaszane przez czytniki ekranu lub mogą powodować problemy technologii wspomagających z fokusem.",
|
||||
"help": "Kontrolki interaktywne nie mogą być zagnieżdżone"
|
||||
},
|
||||
"no-autoplay-audio": {
|
||||
"description": "Elementy <video> lub <audio> nie odtwarzają automatycznie przez dłużej niż 3 sekundy dźwięku bez mechanizmu, który go zatrzymuje lub wycisza.",
|
||||
"description": "Elementy <video> lub <audio> nie odtwarzają automatycznie dźwięku przez dłużej niż 3 sekundy bez mechanizmu, który go zatrzymuje lub wycisza.",
|
||||
"help": "Elementy <video> lub <audio> nie odtwarzają dźwięku automatycznie."
|
||||
},
|
||||
"object-alt": {
|
||||
"description": "Elementy <object> mają tekst alternatywny.",
|
||||
"help": "Elementy <object> muszą mieć tekst zastępczy."
|
||||
"description": "Elementy <object> mają tekst zastępczy.",
|
||||
"help": "Elementy <object> muszą mieć alternatywę tekstową."
|
||||
},
|
||||
"p-as-heading": {
|
||||
"description": "Elementy p nie są stylizowane jako nagłówki.",
|
||||
"help": "Pogrubienie, kursywa i rozmiar czcionki nie są używane do stylizacji elementów p jako nagłówków."
|
||||
"description": "Pogrubienie, kursywa i rozmiar czcionki nie są używane do stylizacji elementów <p> jako nagłówków.",
|
||||
"help": "Stylizowane elementy <p> nie mogą być używane jako nagłówki."
|
||||
},
|
||||
"page-has-heading-one": {
|
||||
"description": "Strona, lub co najmniej jedna z jej ramek, zawiera nagłówek pierwszego poziomu.",
|
||||
"description": "Strona lub co najmniej jedna z jej ramek, zawiera nagłówek pierwszego poziomu.",
|
||||
"help": "Strona musi zawierać nagłówek poziomu 1."
|
||||
},
|
||||
"presentation-role-conflict": {
|
||||
"description": "Elementy z role=none lub role=presentation nie mogą kolidować z innymi rolami.",
|
||||
"help": "Elementy, które mają role=none lub role=presentation, nie mogą kolidować z innymi rolami."
|
||||
"description": "Elementy oznaczone jako prezentacyjne nie powinny mieć globalnego ARIA ani tabindex, aby zapewnić, że wszystkie czytniki ekranu je zignorują.",
|
||||
"help": "Upewnij się, że elementy oznaczone jako prezentacyjne są konsekwentnie ignorowane."
|
||||
},
|
||||
"region": {
|
||||
"description": "Cała treść strony jest objęta przez punkty orientacyjne.",
|
||||
"help": "Cała treść strony musi być zawarta w obszarach kluczowych."
|
||||
},
|
||||
"role-img-alt": {
|
||||
"description": "Elementy z [role=\"img\"] mają tekst alternatywny.",
|
||||
"help": "Elementy z [role=\"img\"] muszą mieć tekst alternatywny."
|
||||
"description": "Elementy z [role='img'] mają tekst alternatywny.",
|
||||
"help": "Elementy z [role='img'] muszą mieć tekst alternatywny."
|
||||
},
|
||||
"scope-attr-valid": {
|
||||
"description": "Atrybut scope w tabelach jest stosowany poprawnie.",
|
||||
|
|
@ -354,32 +374,36 @@
|
|||
"help": "Cel łącza pomijającego powinien istnieć i przyjmować fokus."
|
||||
},
|
||||
"svg-img-alt": {
|
||||
"description": "Elementy svg z rolami img, graphics-document lub graphics-symbol mają dostępny tekst.",
|
||||
"help": "Elementy svg z rolą img mają tekst alternatywny."
|
||||
"description": "Elementy <svg> z rolą img, graphics-document lub graphics-symbol mają dostępny tekst.",
|
||||
"help": "Elementy svg z rolą img muszą mieć tekst alternatywny."
|
||||
},
|
||||
"tabindex": {
|
||||
"description": "Wartości atrybutów tabindex nie są większe niż 0.",
|
||||
"help": "Elementy nie powinny mieć wartości tabindex większej niż zero."
|
||||
},
|
||||
"table-duplicate-name": {
|
||||
"description": "Tabele nie mają takiego samego streszczenia (summary) i podpisu (caption).",
|
||||
"description": "Podpis tabeli (element <caption>) nie może zawierać takiego samego tekstu co atrybut summary.",
|
||||
"help": "Atrybut summary w tabeli ma inny tekst niż element caption."
|
||||
},
|
||||
"table-fake-caption": {
|
||||
"description": "Tabele używają jako podpisu elementu <caption>.",
|
||||
"help": "Komórki danych i nagłówkowe w tabeli danych nie są używane do umieszczania podpisów."
|
||||
"help": "Komórki danych i nagłówkowe w tabeli danych nie są używane do umieszczania podpisu tabeli."
|
||||
},
|
||||
"target-size": {
|
||||
"description": "Sprawdź, czy cel dotykowy ma wystarczający rozmiar i przestrzeń wokół.",
|
||||
"help": "Wszystkie cele dotykowe muszą mieć rozmiar 24px lub pozostawiać wystarczającą ilość miejsca wokół."
|
||||
},
|
||||
"td-has-header": {
|
||||
"description": "Każda niepusta komórka danych w dużej tabeli ma jeden lub więcej nagłówków tabeli.",
|
||||
"help": "Wszystkie niepuste elementy td w tabelach danych większych niż 3 na 3 mają skojarzony nagłówek tabeli."
|
||||
"description": "Wszystkie niepuste komórki danych w tabelach danych większych niż 3 na 3 mają jeden lub więcej nagłówków tabeli.",
|
||||
"help": "Każdy niepusty element <td> w dużej tabeli musi mieć powiązany nagłówek tabeli"
|
||||
},
|
||||
"td-headers-attr": {
|
||||
"description": "Każda komórka tabeli używająca atrybutu headers odwołuje się do innej komórki w tej tabeli.",
|
||||
"help": "Wszystkie komórki z atrybutem headers odnoszą się tylko do innych komórek tej samej tabeli."
|
||||
},
|
||||
"th-has-data-cells": {
|
||||
"description": "Każdy nagłówek tabeli w tabeli danych odnosi się do komórek danych.",
|
||||
"help": "Wszystkie elementy th i elementy z role=columnheader/rowheader mają komórki danych, które opisują."
|
||||
"description": "Wszystkie elementy th i elementy z role=columnheader/rowheader mają komórki danych, które opisują.",
|
||||
"help": "Każdy nagłówek tabeli w tabeli danych musi odnosić się do komórek danych."
|
||||
},
|
||||
"valid-lang": {
|
||||
"description": "Atrybuty lang mają poprawne wartości.",
|
||||
|
|
@ -403,7 +427,8 @@
|
|||
"fail": {
|
||||
"singular": "Atrybut ARIA nie jest dozwolony: ${data.values}.",
|
||||
"plural": ": Atrybuty ARIA nie są dozwolone: ${data.values}."
|
||||
}
|
||||
},
|
||||
"incomplete": "Sprawdź, czy nie ma problemu, jeśli atrybut ARIA jest ignorowany w tym elemencie: ${data.values}"
|
||||
},
|
||||
"aria-allowed-role": {
|
||||
"pass": "Rola ARIA jest dozwolona dla danego elementu.",
|
||||
|
|
@ -416,25 +441,53 @@
|
|||
"plural": ": Role ARIA ${data.values} muszą być usunięte, gdy element jest widoczny, ponieważ nie są one dozwolone dla elementu."
|
||||
}
|
||||
},
|
||||
"aria-busy": {
|
||||
"pass": "Element ma atrybut aria-busy",
|
||||
"fail": "Element używa aria-busy=\"true\" podczas pokazywania ładowania"
|
||||
},
|
||||
"aria-conditional-attr": {
|
||||
"pass": "Atrybut ARIA jest dozwolony",
|
||||
"fail": {
|
||||
"checkbox": "Usuń aria-checked lub ustaw jego wartość na \"${data.checkState}\", aby dopasować ją do rzeczywistego stanu pola wyboru.",
|
||||
"rowSingular": "Ten atrybut jest obsługiwany przez wiersze siatki, ale nie przez ${data.ownerRole}: ${data.invalidAttrs}",
|
||||
"rowPlural": "Te atrybuty są obsługiwane przez wiersze siatki, ale nie przez ${data.ownerRole}: ${data.invalidAttrs}"
|
||||
}
|
||||
},
|
||||
"aria-errormessage": {
|
||||
"pass": "Istnieje aria-errormessage oraz elementy referencyjne widoczne dla czytników ekranowych, które wykorzystują wspieraną technikę aria-errormessage.",
|
||||
"fail": {
|
||||
"singular": "Wartość aria-errormessage `${data.values}` musi używać techniki ogłoszenia wiadomości (np. aria-live, aria-describedby, role=alert, etc.).",
|
||||
"plural": "Wartości aria-errormessage `${data.values}` muszą używać techniki ogłoszenia wiadomości (np. aria-live, aria-describedby, role=alert, etc.)."
|
||||
"singular": "Wartość aria-errormessage ${data.values} musi używać techniki ogłoszenia wiadomości (np. aria-live, aria-describedby, role=alert, etc.).",
|
||||
"plural": "Wartości aria-errormessage ${data.values} muszą używać techniki ogłoszenia wiadomości (np. aria-live, aria-describedby, role=alert, etc.).",
|
||||
"hidden": "Wartość aria-errormessage ${data.values} nie może odwoływać się do ukrytego elementu."
|
||||
},
|
||||
"incomplete": {
|
||||
"singular": "Upewnij się, że wartość aria-errormessage `${data.values}` odnosi się do istniejącego elementu.",
|
||||
"plural": "Upewnij się, że wartości aria-errormessage `${data.values}` odnoszą się do istniejących elementów."
|
||||
"singular": "Upewnij się, że wartość aria-errormessage ${data.values} odnosi się do istniejącego elementu.",
|
||||
"plural": "Upewnij się, że wartości aria-errormessage ${data.values} odnoszą się do istniejących elementów.",
|
||||
"idrefs": "Nie można określić, czy na stronie istnieje element aria-errormessage: ${data.values}"
|
||||
}
|
||||
},
|
||||
"aria-hidden-body": {
|
||||
"pass": "Nie ma żadnego atrybutu aria-hidden w elemencie <body> dokumentu.",
|
||||
"fail": "Atrybutu aria-hidden=true nie może być w elemencie <body> dokumentu."
|
||||
"pass": "Nie ma żadnego atrybutu aria-hidden w elemencie body dokumentu.",
|
||||
"fail": "Atrybut aria-hidden=true nie może być użyty w elemencie body dokumentu."
|
||||
},
|
||||
"aria-level": {
|
||||
"pass": "Wartość aria-level jest poprawna",
|
||||
"incomplete": "Wartości aria-level większe niż 6 nie są obsługiwane we wszystkich kombinacjach czytników ekranu i przeglądarek"
|
||||
},
|
||||
"aria-prohibited-attr": {
|
||||
"pass": "Atrybut ARIA jest dozwolony",
|
||||
"fail": "Atrybut ARIA nie może być użyty, dodaj atrybut role lub użyj innego elementu: ${data.values}",
|
||||
"incomplete": "Atrybut ARIA nie jest dobrze obsługiwany w elemencie i zamiast niego zostanie użyta treść tekstowa: ${data.values}"
|
||||
"fail": {
|
||||
"hasRolePlural": "Atrybuty ${data.prohibited} nie mogą być używane z rolą \"${data.role}\".",
|
||||
"hasRoleSingular": "Atrybut ${data.prohibited} nie może być użyty z rolą \"${data.role}\".",
|
||||
"noRolePlural": "Atrybuty ${data.prohibited} nie mogą być używane w ${data.nodeName} bez poprawnego atrybutu roli.",
|
||||
"noRoleSingular": "Atrybut ${data.prohibited} nie może być użyty w ${data.nodeName} bez poprawnego atrybutu roli."
|
||||
},
|
||||
"incomplete": {
|
||||
"hasRoleSingular": "Atrybut ${data.prohibited} nie jest dobrze obsługiwany przez rolę \"${data.role}\".",
|
||||
"hasRolePlural": "Atrybuty ${data.prohibited} nie są dobrze obsługiwane przez role \"${data.role}\".",
|
||||
"noRoleSingular": "Atrybut ${data.prohibited} nie jest dobrze obsługiwany przez ${data.nodeName} bez poprawnego atrybutu roli.",
|
||||
"noRolePlural": "Atrybuty ${data.prohibited} nie są dobrze obsługiwane przez ${data.nodeName} bez poprawnego atrybutu roli."
|
||||
}
|
||||
},
|
||||
"aria-required-attr": {
|
||||
"pass": "Wszystkie wymagane atrybuty ARIA istnieją.",
|
||||
|
|
@ -444,10 +497,13 @@
|
|||
}
|
||||
},
|
||||
"aria-required-children": {
|
||||
"pass": "Wymagane dzieci ARIA istnieją.",
|
||||
"pass": {
|
||||
"default": "Wymagane dzieci ARIA istnieją."
|
||||
},
|
||||
"fail": {
|
||||
"singular": "Wymagana rola dziecka ARIA nie istnieje: ${data.values}.",
|
||||
"plural": "Wymagane role dzieci ARIA nie istnieją: ${data.values}."
|
||||
"plural": "Wymagane role dzieci ARIA nie istnieją: ${data.values",
|
||||
"unallowed": "Element ma dzieci, które nie są dozwolone: ${data.values}"
|
||||
},
|
||||
"incomplete": {
|
||||
"singular": "Należy dodać oczekiwaną rolę dziecka ARIA: ${data.values}.",
|
||||
|
|
@ -473,12 +529,15 @@
|
|||
"aria-valid-attr-value": {
|
||||
"pass": "Wartości atrybutu ARIA są poprawne.",
|
||||
"fail": {
|
||||
"singular": "Niepoprawna wartość atrybutu ARIA: ${data.values}.",
|
||||
"plural": "Niepoprawne wartości atrybutu ARIA: ${data.values}."
|
||||
"singular": "Niepoprawna wartość atrybutu ARIA: ${data.values}",
|
||||
"plural": "Niepoprawne wartości atrybutu ARIA: ${data.values}"
|
||||
},
|
||||
"incomplete": {
|
||||
"noId": "Identyfikator elementu atrybutu ARIA nie istnieje na stronie: ${data.needsReview}.",
|
||||
"ariaCurrent": "Wartość atrybutu ARIA jest niepoprawna i będzie traktowana jako aria-current=true: ${data.needsReview}."
|
||||
"noId": "Identyfikator elementu atrybutu ARIA nie istnieje na stronie: ${data.needsReview}",
|
||||
"noIdShadow": "ID elementu atrybutu ARIA nie istnieje na stronie lub jest potomkiem innego drzewa shadow DOM: ${data.needsReview}",
|
||||
"ariaCurrent": "Wartość atrybutu ARIA jest niepoprawna i będzie traktowana jako \"aria-current=true\": ${data.needsReview}",
|
||||
"idrefs": "Nie można określić, czy atrybut ARIA element ID istnieje na stronie: ${data.needsReview}",
|
||||
"empty": "Wartość atrybutu ARIA jest ignorowana, gdy jest pusty: ${data.needsReview}"
|
||||
}
|
||||
},
|
||||
"aria-valid-attr": {
|
||||
|
|
@ -488,9 +547,26 @@
|
|||
"plural": "Niepoprawne nazwy atrybutów ARIA: ${data.values}."
|
||||
}
|
||||
},
|
||||
"braille-label-equivalent": {
|
||||
"pass": "Atrybut aria-braillelabel jest użyty w elemencie z dostępnym tekstem.",
|
||||
"fail": "Atrybut aria-braillelabel jest użyty w elemencie, który nie ma dostępnego tekstu.",
|
||||
"incomplete": "Nie można wyliczyć dostępnego tekstu."
|
||||
},
|
||||
"braille-roledescription-equivalent": {
|
||||
"pass": "Atrybut aria-brailleroledescription nie jest używany w elemencie, który nie ma dostępnego tekstu.",
|
||||
"fail": {
|
||||
"noRoleDescription": "Atrybut aria-brailleroledescription jest użyty w elemencie bez atrybutu aria-roledescription.",
|
||||
"emptyRoleDescription": "Atrybut aria-brailleroledescription jest użyty w elemencie z pustym atrybutem aria-roledescription."
|
||||
}
|
||||
},
|
||||
"deprecatedrole": {
|
||||
"pass": "Rola ARIA nie jest przestarzała",
|
||||
"fail": "Użyta rola jest przestarzała: ${data}"
|
||||
},
|
||||
"fallbackrole": {
|
||||
"pass": "Użyto tylko jednej wartości roli.",
|
||||
"fail": "Użyj tylko jednej wartości roli, ponieważ role rezerwowe nie są obsługiwane w starszych przeglądarkach."
|
||||
"fail": "Użyj tylko jednej wartości roli, ponieważ role rezerwowe nie są obsługiwane w starszych przeglądarkach.",
|
||||
"incomplete": "Używaj tylko roli 'presentation' lub 'none', ponieważ są one synonimami."
|
||||
},
|
||||
"has-global-aria-attribute": {
|
||||
"pass": {
|
||||
|
|
@ -515,8 +591,8 @@
|
|||
"fail": "Element nie przyjmuje fokusu."
|
||||
},
|
||||
"no-implicit-explicit-label": {
|
||||
"pass": "Nie ma rozbieżności między <label> a dostępną nazwą.",
|
||||
"incomplete": "Sprawdź, czy <label> nie musi być częścią nazwy pola ARIA ${data}."
|
||||
"pass": "Nie ma rozbieżności między label a dostępną nazwą.",
|
||||
"incomplete": "Sprawdź, czy label nie musi być częścią nazwy pola ARIA ${data}."
|
||||
},
|
||||
"unsupportedrole": {
|
||||
"pass": "Rola ARIA jest obsługiwana.",
|
||||
|
|
@ -526,9 +602,13 @@
|
|||
"pass": "Element w porządku otrzymywania fokusu ma poprawną semantykę.",
|
||||
"fail": "Element w porządku otrzymywania fokusu ma niepoprawną semantykę."
|
||||
},
|
||||
"color-contrast": {
|
||||
"pass": "Element ma wystarczający kontrast kolorów ${data.contrastRatio}.",
|
||||
"fail": "Element ma niewystarczający kontrast kolorów: ${data.contrastRatio} (foreground color: ${data.fgColor}, background color: ${data.bgColor}, font size: ${data.fontSize}, font weight: ${data.fontWeight}). Oczekiwany współczynnik kontrastu: ${data.expectedContrastRatio}.",
|
||||
"color-contrast-enhanced": {
|
||||
"pass": "Element ma wystarczający kontrast kolorów ${data.contrastRatio}",
|
||||
"fail": {
|
||||
"default": "Element ma niewystarczający kontrast kolorów ${data.contrastRatio} (kolor pierwszego planu: ${data.fgColor}, kolor tła: ${data.bgColor}, rozmiar czcionki: ${data.fontSize}, waga czcionki: ${data.fontWeight}). Oczekiwany współczynnik kontrastu: ${data.expectedContrastRatio}",
|
||||
"fgOnShadowColor": "Element ma niewystarczający kontrast kolorów ${data.contrastRatio} pomiędzy kolorem pierwszego planu a kolorem cienia tekstu (kolor pierwszego planu: ${data.fgColor}, kolor cienia tekstu: ${data.shadowColor}, rozmiar czcionki: ${data.fontSize}, waga czcionki: ${data.fontWeight}). Oczekiwany współczynnik kontrastu: ${data.expectedContrastRatio}",
|
||||
"shadowOnBgColor": "Element ma niewystarczający kontrast kolorów ${data.contrastRatio} pomiędzy kolorem cienia tekstu a kolorem tła (kolor cienia tekstu: ${data.shadowColor}, kolor tła: ${data.bgColor}, rozmiar czcionki: ${data.fontSize}, waga czcionki: ${data.fontWeight}). Oczekiwany współczynnik kontrastu: ${data.expectedContrastRatio}"
|
||||
},
|
||||
"incomplete": {
|
||||
"default": "Nie można określić współczynnika kontrastu.",
|
||||
"bgImage": "Nie można określić koloru tła elementu, ponieważ element ma obraz tła.",
|
||||
|
|
@ -545,9 +625,16 @@
|
|||
"pseudoContent": "Nie można określić koloru tła elementu, ponieważ jest to pseudoelement."
|
||||
}
|
||||
},
|
||||
"color-contrast-enhanced": {
|
||||
"pass": "Element ma wystarczający kontrast kolorów ${data.contrastRatio}.",
|
||||
"fail": "Element ma niewystarczający kontrast kolorów: ${data.contrastRatio} (foreground color: ${data.fgColor}, background color: ${data.bgColor}, font size: ${data.fontSize}, font weight: ${data.fontWeight}). Oczekiwany współczynnik kontrastu: ${data.expectedContrastRatio}.",
|
||||
"color-contrast": {
|
||||
"pass": {
|
||||
"default": "Element ma wystarczający kontrast kolorów ${data.contrastRatio}",
|
||||
"hidden": "Element jest ukryty"
|
||||
},
|
||||
"fail": {
|
||||
"default": "Element ma niewystarczający kontrast kolorów ${data.contrastRatio} (kolor pierwszego planu: ${data.fgColor}, kolor tła: ${data.bgColor}, rozmiar czcionki: ${data.fontSize}, waga czcionki: ${data.fontWeight}). Oczekiwany współczynnik kontrastu: ${data.expectedContrastRatio}",
|
||||
"fgOnShadowColor": "Element ma niewystarczający kontrast kolorów ${data.contrastRatio} pomiędzy kolorem pierwszego planu a kolorem cienia tekstu (kolor pierwszego planu: ${data.fgColor}, kolor cienia tekstu: ${data.shadowColor}, rozmiar czcionki: ${data.fontSize}, waga czcionki: ${data.fontWeight}). Oczekiwany współczynnik kontrastu: ${data.expectedContrastRatio}",
|
||||
"shadowOnBgColor": "Element ma niewystarczający kontrast kolorów ${data.contrastRatio} pomiędzy kolorem cienia tekstu a kolorem tła (kolor cienia tekstu: ${data.shadowColor}, kolor tła: ${data.bgColor}, rozmiar czcionki: ${data.fontSize}, waga czcionki: ${data.fontWeight}). Oczekiwany współczynnik kontrastu: ${data.expectedContrastRatio}"
|
||||
},
|
||||
"incomplete": {
|
||||
"default": "Nie można określić współczynnika kontrastu.",
|
||||
"bgImage": "Nie można określić koloru tła elementu, ponieważ element ma obraz tła.",
|
||||
|
|
@ -564,9 +651,20 @@
|
|||
"pseudoContent": "Nie można określić koloru tła elementu, ponieważ jest to pseudoelement."
|
||||
}
|
||||
},
|
||||
"link-in-text-block-style": {
|
||||
"pass": "Łącza mogą być odróżnione od sąsiadującego tekstu poprzez wizualną stylizację",
|
||||
"incomplete": {
|
||||
"default": "Sprawdź, czy łącze wymaga stylizacji, aby odróżnić je od sąsiadującego tekstu.",
|
||||
"pseudoContent": "Sprawdź, czy pseudostyl łącza jest wystarczający, aby odróżnić je od sąsiadującego tekstu."
|
||||
},
|
||||
"fail": "Łącze nie ma żadnej stylizacji (np. podkreślenia), która odróżniałaby je od sąsiadującego tekstu"
|
||||
},
|
||||
"link-in-text-block": {
|
||||
"pass": "Łącza można odróżnić od otaczającego je tekstu w inny sposób niż za pomocą koloru.",
|
||||
"fail": "Łącza muszą być odróżnione od otaczającego je tekstu w inny sposób niż za pomocą koloru.",
|
||||
"pass": "Łącza można odróżnić od sąsiadującego tekstu w inny sposób niż za pomocą koloru.",
|
||||
"fail": {
|
||||
"fgContrast": "Łącze ma niewystarczający kontrast kolorów ${data.contrastRatio}:1 z sąsiadującym tekstem. (Minimalny kontrast to: ${data.requiredContrastRatio}:1, kolor tekstu łącza: ${data.nodeColor}, kolor sąsiadującego tekstu: ${data.parentColor})",
|
||||
"bgContrast": "Tło łącza ma niewystarczający kontrast kolorów ${data.contrastRatio} (Minimalny kontrast to: ${data.requiredContrastRatio}:1, kolor tła łącza: ${data.nodeBackgroundColor}, sąsiadujący kolor tła: ${data.parentBackgroundColor})"
|
||||
},
|
||||
"incomplete": {
|
||||
"default": "Nie można określić współczynnika kontrastu.",
|
||||
"bgContrast": "Nie można określić współczynnika kontrastu elementu. Sprawdź, czy nie ma odrębnego stylu stanów hover/fokus.",
|
||||
|
|
@ -577,8 +675,8 @@
|
|||
}
|
||||
},
|
||||
"autocomplete-appropriate": {
|
||||
"pass": "Wartość autocomplete jest odpowiednia dla tego typu pola wejściowego.",
|
||||
"fail": "Wartość autocomplete jest niewłaściwa dla tego typu pola wejściowego."
|
||||
"pass": "Wartość autocomplete jest odpowiednia dla tego typu pola formularza.",
|
||||
"fail": "Wartość autocomplete jest niewłaściwa dla tego typu pola formularza."
|
||||
},
|
||||
"autocomplete-valid": {
|
||||
"pass": "Atrybut autocomplete jest sformatowany poprawnie.",
|
||||
|
|
@ -594,6 +692,7 @@
|
|||
},
|
||||
"focusable-disabled": {
|
||||
"pass": "W elemencie nie ma elementów przyjmujących fokus.",
|
||||
"incomplete": "Sprawdź, czy elementy, na których można ustawić fokus, natychmiast otrzymują wskaźnik fokusu",
|
||||
"fail": "Treść z możliwością ustawiania fokusu powinna być wyłączona lub usunięta z DOM."
|
||||
},
|
||||
"focusable-element": {
|
||||
|
|
@ -611,6 +710,7 @@
|
|||
},
|
||||
"focusable-not-tabbable": {
|
||||
"pass": "Nie ma elementów przyjmujących fokus wewnątrz elementu.",
|
||||
"incomplete": "Sprawdź, czy elementy, na których można ustawić fokus, natychmiast otrzymują wskaźnik fokusu",
|
||||
"fail": "Treść przyjmująca fokus powinna mieć tabindex=-1 lub być usunięta z DOM."
|
||||
},
|
||||
"frame-focusable-content": {
|
||||
|
|
@ -624,7 +724,10 @@
|
|||
},
|
||||
"no-focusable-content": {
|
||||
"pass": "Element nie ma potomków przyjmujących fokus",
|
||||
"fail": "Element ma elementy potomne przyjmujące fokus",
|
||||
"fail": {
|
||||
"default": "Element ma elementy potomne przyjmujące fokus",
|
||||
"notHidden": "Użycie ujemnej wartości tabindex elementu wewnątrz interaktywnej kontrolki nie zapobiega ustawianiu na elemencie fokusu przez technologie wspomagające (nawet z 'aria-hidden=true')"
|
||||
},
|
||||
"incomplete": "Nie można ustalić, czy element ma elementy potomne"
|
||||
},
|
||||
"page-has-heading-one": {
|
||||
|
|
@ -656,35 +759,35 @@
|
|||
"fail": "Element ma atrybut alt zawierający tylko znak spacji, który nie przez wszystkie czytniki ekranu jest ignorowany ."
|
||||
},
|
||||
"duplicate-img-label": {
|
||||
"pass": "Element nie powiela tekstu istniejącego w atrybucie alt elementu <img>.",
|
||||
"fail": "Element powiela tekst istniejący w atrybucie alt elementu <img>."
|
||||
"pass": "Element nie powiela tekstu istniejącego w atrybucie alt elementu img.",
|
||||
"fail": "Element powiela tekst istniejący w atrybucie alt elementu img."
|
||||
},
|
||||
"explicit-label": {
|
||||
"pass": "Element formularza ma jawnie określoną <label>.",
|
||||
"fail": "Element formularza nie ma jawnie określonej <label>.",
|
||||
"incomplete": "Nie można określić, czy element formularza ma jawnie określoną <label>."
|
||||
"pass": "Element formularza ma jawnie określoną label.",
|
||||
"fail": "Element formularza nie ma jawnie określonej label.",
|
||||
"incomplete": "Nie można określić, czy element formularza ma jawnie określoną label."
|
||||
},
|
||||
"help-same-as-label": {
|
||||
"pass": "Tekst pomocy (title lub aria-describedby) nie powiela tekstu etykiety.",
|
||||
"fail": "Tekst pomocy (title lub aria-describedby) jest taki sam jak tekst etykiety."
|
||||
},
|
||||
"hidden-explicit-label": {
|
||||
"pass": "Element formularza ma widoczną jednoznaczną <label>.",
|
||||
"fail": "Element formularza ma jednoznaczną <label>, która jest ukryta.",
|
||||
"incomplete": "Nie można określić, czy element formularza ma jednoznaczną ukrytą etykietę (<label>)."
|
||||
"pass": "Element formularza ma widoczną jednoznaczną etykietę label.",
|
||||
"fail": "Element formularza ma jednoznaczną etykietę label, która jest ukryta.",
|
||||
"incomplete": "Nie można określić, czy element formularza ma jawną etykietę (label), gdy jest ukryta."
|
||||
},
|
||||
"implicit-label": {
|
||||
"pass": "Element formularza ma dorozumianą etykietę (jest owinięty w <label>).",
|
||||
"fail": "Element formularza nie ma dorozumianej etykiety (nie jest owinięty w <label>).",
|
||||
"incomplete": "Nie można określić, czy element formularza ma dorozumianą etykietę (jest owinięty w <label>)."
|
||||
"pass": "Element formularza ma dorozumianą etykietę (jest owinięty w label).",
|
||||
"fail": "Element formularza nie ma dorozumianej etykiety (nie jest owinięty w label).",
|
||||
"incomplete": "Nie można określić, czy element formularza ma dorozumianą etykietę (jest owinięty w label)."
|
||||
},
|
||||
"label-content-name-mismatch": {
|
||||
"pass": "Widoczny tekst elementu jest częścią dostępnej nazwy elementu.",
|
||||
"fail": "Tekst wewnątrz elementu nie jest częścią dostępnej nazwy."
|
||||
"fail": "Widoczny tekst wewnątrz elementu nie jest częścią dostępnej nazwy."
|
||||
},
|
||||
"multiple-label": {
|
||||
"pass": "Pole formularza nie ma wielu <label>.",
|
||||
"incomplete": "Technologie wspomagające nie obsługują wystarczająco dobrze wielu elementów <label>. Upewnij się, że pierwsza etykieta zawiera wszystkie niezbędne informacje."
|
||||
"pass": "Pole formularza nie ma wielu label.",
|
||||
"incomplete": "Technologie wspomagające nie obsługują wystarczająco dobrze wielu elementów label. Upewnij się, że pierwsza etykieta zawiera wszystkie niezbędne informacje."
|
||||
},
|
||||
"title-only": {
|
||||
"pass": "Element formularza nie używa wyłącznie atrybutu title jako swojej etykiety.",
|
||||
|
|
@ -702,7 +805,7 @@
|
|||
}
|
||||
},
|
||||
"valid-lang": {
|
||||
"pass": "Wartość atrybutu lang znajduje się na liście poprawnych kodów języków.",
|
||||
"pass": "Wartość atrybutu lang jest na liście poprawnych kodów języków.",
|
||||
"fail": "Wartości atrybutu lang nie ma na liście poprawnych kodów języków."
|
||||
},
|
||||
"xml-lang-mismatch": {
|
||||
|
|
@ -710,30 +813,27 @@
|
|||
"fail": "Atrybuty lang i xml:lang nie mają tego samego języka podstawowego."
|
||||
},
|
||||
"dlitem": {
|
||||
"pass": "Element listy opisowej ma element nadrzędny <dl>.",
|
||||
"fail": "Pozycja listy opisowej nie ma elementu nadrzędnego <dl>."
|
||||
"pass": "Element listy opisowej ma element nadrzędny dl.",
|
||||
"fail": "Pozycja listy opisowej nie ma elementu nadrzędnego dl."
|
||||
},
|
||||
"listitem": {
|
||||
"pass": "Element listy ma <ul>, <ol> lub role=\"list\" jako bezpośredni element rodzicielski.",
|
||||
"pass": "Element listy ma ul, ol lub role=\"list\" jako bezpośredni element rodzicielski.",
|
||||
"fail": {
|
||||
"default": "Element listy nie ma nadrzędnego elementu <ul> lub <ol>.",
|
||||
"roleNotValid": "Element listy nie ma nadrzędnego elementu <ul>, <ol>, ani nadrzędnego elementu z role=\"list\"."
|
||||
"default": "Element listy nie ma nadrzędnego elementu ul lub ol.",
|
||||
"roleNotValid": "Element listy nie ma nadrzędnego elementu ul, ol, ani nadrzędnego elementu z role=\"list\"."
|
||||
}
|
||||
},
|
||||
"only-dlitems": {
|
||||
"pass": "Element <dl> ma wewnątrz tylko dozwolone jako bezpośrednie elementy potomne (dzieci) elementy <dt> lub <dd> .",
|
||||
"pass": "Element dl ma wewnątrz tylko dozwolone jako bezpośrednie elementy potomne (dzieci) elementy dt lub dd.",
|
||||
"fail": "Element listy ma wewnątrz bezpośrednie elementy dzieci, które nie są dozwolone wewnątrz listy opisowej."
|
||||
},
|
||||
"only-listitems": {
|
||||
"pass": "Element lista ma wewnątrz tylko dozwolone jako bezpośrednie elementy potomne (dzieci) elementy <li>.",
|
||||
"fail": {
|
||||
"default": "Element lista ma niedozwolone bezpośrednie elementy potomne (dzieci), poza elementami <li>.",
|
||||
"roleNotValid": "Element lista ma bezpośrednie elementy potomne (dzieci) z rolą, która nie jest dozwolona: ${data.role}."
|
||||
}
|
||||
"pass": "Element lista ma wewnątrz tylko dozwolone jako bezpośrednie elementy potomne (dzieci) elementy li.",
|
||||
"fail": "Element listy ma bezpośrednie elementy potomne, które nie są dozwolone: ${data.values}"
|
||||
},
|
||||
"structured-dlitems": {
|
||||
"pass": "Gdy elemet <dl> nie jest pusty, ma zarówno elementy <dt>, jak i <dd>.",
|
||||
"fail": "Element nie jest pusty, ale nie ma co najmniej jednego elementu <dt>, po którym następuje co najmniej jeden element <dd>."
|
||||
"pass": "Gdy elemet dl nie jest pusty, ma zarówno elementy dt, jak i dd.",
|
||||
"fail": "Element nie jest pusty, ale nie ma co najmniej jednego elementu dt, po którym następuje co najmniej jeden element dd."
|
||||
},
|
||||
"caption": {
|
||||
"pass": "Element multimedialny ma ścieżkę z napisami rozszerzonymi.",
|
||||
|
|
@ -762,13 +862,38 @@
|
|||
"pass": "Znacznik <meta> nie wyłącza powiększania na urządzeniach przenośnych.",
|
||||
"fail": "${data} w znaczniku <meta> wyłącza powiększanie na urządzeniach przenośnych."
|
||||
},
|
||||
"target-offset": {
|
||||
"pass": "Cel ma wystarczające odsunięcie od swojego najbliższego sąsiada: (${data.closestOffset}px, które powinno wynosić co najmniej ${data.minOffset}px)",
|
||||
"fail": "Cel ma niewystarczające odsunięcie od najbliższego sąsiada: (${data.closestOffset}px, które powinno wynosić co najmniej ${data.minOffset}px)",
|
||||
"incomplete": {
|
||||
"default": "Element z ujemnym tabindeksem ma niewystarczające odsunięcie od najbliższego sąsiada: (${data.closestOffset}px, które powinno wynosić co najmniej${data.minOffset}px). Czy to jest cel?",
|
||||
"nonTabbableNeighbor": "Cel ma niewystarczające odsunięcie od sąsiada z ujemnym tabindeksem: (${data.closestOffset}px, które powinno wynosić co najmniej ${data.minOffset}px). Czy sąsiad jest celem?"
|
||||
}
|
||||
},
|
||||
"target-size": {
|
||||
"pass": {
|
||||
"default": "Kontrolka ma wystarczający rozmiar (${data.width}px na ${data.height}px, który powinnien wynosić co najmniej ${data.minSize}px na ${data.minSize}px)",
|
||||
"obscured": "Kontrolka jest ignorowana, ponieważ jest całkowicie zasłonięta i nie można jej kliknąć."
|
||||
},
|
||||
"fail": {
|
||||
"default": "Cel ma niewystarczający rozmiar (${data.width}px na ${data.height}px, który powinnien wynosić co najmniej ${data.minSize}px na ${data.minSize}px)",
|
||||
"partiallyObscured": "Cel ma niewystarczający rozmiar, ponieważ jest częściowo przesłonięty (najmniejsza przestrzeń to ${data.width}px na ${data.height}px, powinna wynosić ${data.minSize}px na ${data.minSize}px)"
|
||||
},
|
||||
"incomplete": {
|
||||
"default": "Element z ujemnym tabindex ma niewystarczający rozmiar (${data.width}px na ${data.height}px, powinnien wynosić co najmniej ${data.minSize}px na ${data.minSize}px). Czy to jest cel?",
|
||||
"contentOverflow": "Rozmiar elementu nie mógł być dokładnie określony z powodu przepełnienia zawartości",
|
||||
"partiallyObscured": "Element z ujemnym tabindex ma niewystarczający rozmiar, ponieważ jest częściowo przesłonięty (najmniejsza przestrzeń to ${data.width}px na ${data.height}px, powinna wynosić co najmniej ${data.minSize}px na ${data.minSize}px). Czy to jest cel?",
|
||||
"partiallyObscuredNonTabbable": "Cel ma niewystarczający rozmiar, ponieważ jest częściowo przesłonięty przez sąsiada o ujemnym tabindeksie (najmniejsza przestrzeń to ${data.width}px na ${data.height}px, powinna wynosić co najmniej ${data.minSize}px na ${data.minSize}px). Czy sąsiad jest celem?"
|
||||
}
|
||||
},
|
||||
"header-present": {
|
||||
"pass": "Strona ma nagłówek.",
|
||||
"fail": "Strona nie ma nagłówka."
|
||||
},
|
||||
"heading-order": {
|
||||
"pass": "Kolejność nagłówków jest poprawna.",
|
||||
"fail": "Kolejność nagłówków jest niepoprawna."
|
||||
"fail": "Kolejność nagłówków jest niepoprawna.",
|
||||
"incomplete": "Nie można określić poprzedniego nagłówka"
|
||||
},
|
||||
"identical-links-same-purpose": {
|
||||
"pass": "Nie ma żadnych innych łączy o tej samej nazwie, które kierują na inny adres URL.",
|
||||
|
|
@ -782,13 +907,18 @@
|
|||
"pass": "Strona ma punkt orientacyjny (obszar kluczowy).",
|
||||
"fail": "Strona nie ma żadnego punktu orientacyjnego (obszaru kluczowego)."
|
||||
},
|
||||
"meta-refresh-no-exceptions": {
|
||||
"pass": "Znacznik <meta> nie powoduje natychmiastowego odświeżenia strony",
|
||||
"fail": "Znacznik <meta> tag wymusza czasowe odświeżenie strony"
|
||||
},
|
||||
"meta-refresh": {
|
||||
"pass": "Znacznik <meta> nie odświeża od razu strony.",
|
||||
"fail": "Znacznik <meta> wymusza odświeżenie strony."
|
||||
},
|
||||
"p-as-heading": {
|
||||
"pass": "Elementy <p> nie są stylizowane na nagłówki.",
|
||||
"fail": "Zamiast stylizowanych na nagłówki elementów p muszą być używane nagłówki semantyczne."
|
||||
"fail": "Zamiast stylizowanych na nagłówki elementów <p> muszą być użyte nagłówki semantyczne.",
|
||||
"incomplete": "Nie można określić, czy elementy <p> są stylizowane na nagłówki"
|
||||
},
|
||||
"region": {
|
||||
"pass": "Cała treść strony jest zawarta w obszarach kluczowych.",
|
||||
|
|
@ -825,16 +955,16 @@
|
|||
"incomplete": "Spowoduj, aby istniał element, do którego istnieje odwołanie w atrybucie aria-labelldeby."
|
||||
},
|
||||
"avoid-inline-spacing": {
|
||||
"pass": "Nie określono żadnych stylów inline z '!important', które wpływają na odstępy w tekście.",
|
||||
"pass": "Nie określono żadnych stylów wewnętrznych (inline) z '!important', które wpływają na odstępy w tekście.",
|
||||
"fail": {
|
||||
"singular": "Usuń dyrektywę '!important' ze stylu inline ${data.values}, ponieważ nadpisywanie tego nie jest obsługiwane przez większość przeglądarek.",
|
||||
"plural": "Usuń dyrektywy '!important' ze stylów inline ${data.values}, ponieważ nadpisywanie tego nie jest obsługiwane przez większość przeglądarek."
|
||||
}
|
||||
},
|
||||
"button-has-visible-text": {
|
||||
"pass": "Element ma tekst wewnętrzny widoczny dla czytników ekranu.",
|
||||
"pass": "Element ma tekst wewnętrzny widoczny dla czytników ekranu.",
|
||||
"fail": "Element nie ma wewnętrznego tekstu, który jest widoczny dla czytników ekranu.",
|
||||
"incomplete": "Nie można określić, czy element ma elementy dzieci."
|
||||
"incomplete": "Nie można określić, czy element ma elementy potomne."
|
||||
},
|
||||
"doc-has-title": {
|
||||
"pass": "Dokument ma niepusty element <title>.",
|
||||
|
|
@ -853,6 +983,18 @@
|
|||
"fail": "Element nie ma tekstu, który jest widoczny dla czytników ekranu.",
|
||||
"incomplete": "Nie można określić, czy element ma elementy dzieci."
|
||||
},
|
||||
"important-letter-spacing": {
|
||||
"pass": "Odstępy między literami (letter-spacing) w atrybucie style nie są ustawione na !important lub spełniają minimum",
|
||||
"fail": "Odstępy między literami w atrybucie style nie mogą używać !important lub muszą mieć ${data.minValue}em (aktualnie: ${data.value}em)"
|
||||
},
|
||||
"important-line-height": {
|
||||
"pass": "Właściwość line-height w atrybucie style nie jest ustawiona na !important lub spełnia minimum.",
|
||||
"fail": "Właściwość line-height w atrybucie style nie może używać !important lub musi mieć ${data.minValue}em (aktualnie: ${data.value}em)."
|
||||
},
|
||||
"important-word-spacing": {
|
||||
"pass": "Odstępy miedzy wyrazami (word-spacing) w atrybucie style nie są ustawione na !important lub spełniają minimum",
|
||||
"fail": "Odstępy miedzy wyrazami (word-spacing) w atrybucie style nie mogą używać !important lub muszą mieć ${data.minValue}em (aktualnie: ${data.value}em)"
|
||||
},
|
||||
"is-on-screen": {
|
||||
"pass": "Element nie jest widoczny.",
|
||||
"fail": "Element jest widoczny."
|
||||
|
|
@ -898,7 +1040,8 @@
|
|||
"default": "Domyślna semantyka elementu nie została nadpisana przez role=\"none\" ani role=\"presentation\".",
|
||||
"globalAria": "Rola elementu nie jest prezentacyjna, ponieważ ma on ogólny atrybut ARIA.",
|
||||
"focusable": "Rola elementu nie jest prezentacyjna, ponieważ może on przyjmować fokus.",
|
||||
"both": "Rola elementu nie jest prezentacyjna, ponieważ ma on ogólny atrybut ARIA i może przyjmować fokus."
|
||||
"both": "Rola elementu nie jest prezentacyjna, ponieważ ma on ogólny atrybut ARIA i może przyjmować fokus.",
|
||||
"iframe": "Użycie atrybutu \"title\" na elemencie ${data.nodeName} z rolą prezentacyjną zachowuje się niespójnie pomiędzy czytnikami ekranu."
|
||||
}
|
||||
},
|
||||
"role-none": {
|
||||
|
|
@ -913,7 +1056,7 @@
|
|||
"pass": "Element ma dziecko, które jest tytułem.",
|
||||
"fail": {
|
||||
"noTitle": "Element nie ma dziecka, które jest tytułem.",
|
||||
"emptyTitle": "Tytuł elementu dziecka jest pusty."
|
||||
"emptyTitle": "Element title dziecka jest pusty."
|
||||
},
|
||||
"incomplete": "Nie można ustalić, czy element ma dziecko, które jest tytułem."
|
||||
},
|
||||
|
|
@ -927,7 +1070,8 @@
|
|||
},
|
||||
"same-caption-summary": {
|
||||
"pass": "Treści atrybutu summary i elementu <caption> nie są powielane.",
|
||||
"fail": "Treści atrybutu summary i elementu <caption> są identyczne."
|
||||
"fail": "Treści atrybutu summary i elementu <caption> są identyczne.",
|
||||
"incomplete": "Nie można określić, czy element <table> ma caption"
|
||||
},
|
||||
"scope-value": {
|
||||
"pass": "Atrybut scope ma poprawną wartość.",
|
||||
|
|
|
|||
4
node_modules/axe-core/locales/pt_BR.json
generated
vendored
4
node_modules/axe-core/locales/pt_BR.json
generated
vendored
|
|
@ -444,7 +444,9 @@
|
|||
}
|
||||
},
|
||||
"aria-required-children": {
|
||||
"pass": "Os ARIA filhos necessários estão presentes",
|
||||
"pass": {
|
||||
"default": "Os ARIA filhos necessários estão presentes"
|
||||
},
|
||||
"fail": {
|
||||
"singular": "Função ARIA filha necessária ausente: ${data.values}",
|
||||
"plural": "Funções ARIA filhas necessárias ausentes: ${data.values}"
|
||||
|
|
|
|||
1116
node_modules/axe-core/locales/zh_CN.json
generated
vendored
Normal file
1116
node_modules/axe-core/locales/zh_CN.json
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
1108
node_modules/axe-core/locales/zh_TW.json
generated
vendored
Normal file
1108
node_modules/axe-core/locales/zh_TW.json
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
106
node_modules/axe-core/package.json
generated
vendored
106
node_modules/axe-core/package.json
generated
vendored
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "axe-core",
|
||||
"description": "Accessibility engine for automated Web UI testing",
|
||||
"version": "4.6.2",
|
||||
"version": "4.10.2",
|
||||
"license": "MPL-2.0",
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
|
|
@ -32,6 +32,11 @@
|
|||
"name": "Marcy Sutton",
|
||||
"organization": "Deque Systems, Inc.",
|
||||
"url": "http://deque.com/"
|
||||
},
|
||||
{
|
||||
"name": "Ava Gaiety Wroten",
|
||||
"organization": "Deque Systems, Inc.",
|
||||
"url": "http://deque.com/"
|
||||
}
|
||||
],
|
||||
"homepage": "https://www.deque.com/axe/",
|
||||
|
|
@ -55,7 +60,8 @@
|
|||
"axe.min.js",
|
||||
"axe.d.ts",
|
||||
"sri-history.json",
|
||||
"locales/"
|
||||
"locales/",
|
||||
"LICENSE-3RD-PARTY.txt"
|
||||
],
|
||||
"standard-version": {
|
||||
"scripts": {
|
||||
|
|
@ -66,15 +72,17 @@
|
|||
}
|
||||
},
|
||||
"scripts": {
|
||||
"start": "http-server -p 9876 --silent",
|
||||
"start": "http-server -a \"\" -p 9876 --silent",
|
||||
"develop": "grunt dev --force",
|
||||
"api-docs": "jsdoc --configure .jsdoc.json",
|
||||
"build": "grunt",
|
||||
"patch": "npx patch-package",
|
||||
"unpatch": "npx patch-package --reverse",
|
||||
"eslint": "eslint --color --format stylish '{lib,test,build,doc}/**/*.js' 'Gruntfile.js'",
|
||||
"test": "npm run test:tsc && run-s \"test:unit:* -- {@}\" --",
|
||||
"test:tsc": "tsc",
|
||||
"test:unit": "karma start test/karma.conf.js",
|
||||
"test:debug": "npm run test:unit -- --no-single-run --browsers=Chrome",
|
||||
"test:debug": "npm run test:unit -- --no-single-run --browsers=ChromeDebugging",
|
||||
"test:unit:core": "npm run test:unit -- testDirs=core",
|
||||
"test:unit:commons": "npm run test:unit -- testDirs=commons",
|
||||
"test:unit:rule-matches": "npm run test:unit -- testDirs=rule-matches",
|
||||
|
|
@ -83,19 +91,20 @@
|
|||
"test:unit:integration": "npm run test:unit -- testDirs=integration",
|
||||
"test:unit:virtual-rules": "npm run test:unit -- testDirs=virtual-rules",
|
||||
"integration": "node test/integration/full/test-webdriver.js",
|
||||
"integration:apg": "mocha test/aria-practices/*.spec.js",
|
||||
"integration:apg": "mocha --fail-zero test/aria-practices/*.spec.js",
|
||||
"integration:chrome": "npm run integration -- browser=Chrome",
|
||||
"integration:firefox": "npm run integration -- browser=Firefox",
|
||||
"test:integration": "npm run test:integration:chrome",
|
||||
"test:integration:chrome": "start-server-and-test 9876 integration:chrome",
|
||||
"test:integration:firefox": "start-server-and-test 9876 integration:firefox",
|
||||
"test:examples": "node ./doc/examples/test-examples",
|
||||
"test:act": "mocha test/act-rules/*.spec.js",
|
||||
"test:act": "mocha --fail-zero test/act-rules/*.spec.js",
|
||||
"test:apg": "start-server-and-test 9876 integration:apg",
|
||||
"test:locales": "mocha test/test-locales.js",
|
||||
"test:virtual-rules": "mocha test/test-virtual-rules.js",
|
||||
"test:rule-help-version": "mocha test/test-rule-help-version.js",
|
||||
"test:node": "mocha test/node/*.js",
|
||||
"test:node": "node test/node/node.js",
|
||||
"test:jsdom": "mocha test/node/jsdom.js",
|
||||
"version": "echo \"use 'npm run release' to bump axe-core version\" && exit 1",
|
||||
"release": "git fetch origin --tags --force && standard-version -a",
|
||||
"rule-gen": "node build/rule-generator",
|
||||
|
|
@ -103,36 +112,40 @@
|
|||
"sri-update": "grunt build && node build/sri-update && git add sri-history.json",
|
||||
"sri-validate": "node build/sri-update --validate",
|
||||
"fmt": "prettier --write .",
|
||||
"prepare": "husky install",
|
||||
"fmt:check": "prettier --check .",
|
||||
"prepare": "husky && npm run patch",
|
||||
"prebuild": "node ./build/check-node-version.js",
|
||||
"pretest": "node ./build/check-node-version.js",
|
||||
"postbuild": "prettier --write ./locales/_template.json ./doc/rule-descriptions.md"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@axe-core/webdriverjs": "^4.4.3",
|
||||
"@babel/core": "^7.18.6",
|
||||
"@babel/plugin-proposal-object-rest-spread": "^7.18.6",
|
||||
"@babel/preset-env": "^7.18.6",
|
||||
"@babel/runtime-corejs3": "^7.18.6",
|
||||
"@axe-core/webdriverjs": "^4.9.0",
|
||||
"@babel/core": "^7.20.12",
|
||||
"@babel/plugin-proposal-object-rest-spread": "^7.20.7",
|
||||
"@babel/preset-env": "^7.20.2",
|
||||
"@babel/runtime-corejs3": "^7.20.7",
|
||||
"@deque/dot": "^1.1.5",
|
||||
"aria-practices": "github:w3c/aria-practices#edbf534",
|
||||
"aria-query": "^5.0.0",
|
||||
"aria-practices": "github:w3c/aria-practices#ce0336bd82d7d3651abcbde86af644197ddbc629",
|
||||
"aria-query": "^5.1.3",
|
||||
"browser-driver-manager": "1.0.4",
|
||||
"chai": "~4.3.6",
|
||||
"chai": "^4.3.7",
|
||||
"chalk": "^4.x",
|
||||
"chromedriver": "latest",
|
||||
"clean-jsdoc-theme": "^4.2.17",
|
||||
"clone": "^2.1.2",
|
||||
"conventional-commits-parser": "^3.2.4",
|
||||
"core-js": "^3.23.5",
|
||||
"colorjs.io": "0.4.3",
|
||||
"conventional-commits-parser": "^5.0.0",
|
||||
"core-js": "^3.27.1",
|
||||
"css-selector-parser": "^1.4.1",
|
||||
"emoji-regex": "^10.2.1",
|
||||
"es6-promise": "^4.2.8",
|
||||
"esbuild": "^0.10.x",
|
||||
"eslint": "^8.19.0",
|
||||
"eslint-config-prettier": "^8.5.0",
|
||||
"eslint-plugin-mocha-no-only": "^1.1.1",
|
||||
"eslint": "^9.2.0",
|
||||
"eslint-config-prettier": "^9.1.0",
|
||||
"eslint-plugin-mocha-no-only": "^1.2.0",
|
||||
"execa": "5.x",
|
||||
"globby": "11.x",
|
||||
"glob": "^10.3.10",
|
||||
"globals": "^15.2.0",
|
||||
"grunt": "^1.5.3",
|
||||
"grunt-babel": "^8.0.0",
|
||||
"grunt-bytesize": "^0.2.0",
|
||||
|
|
@ -140,41 +153,40 @@
|
|||
"grunt-contrib-concat": "^2.1.0",
|
||||
"grunt-contrib-uglify": "^5.2.2",
|
||||
"grunt-contrib-watch": "^1.1.0",
|
||||
"html-entities": "1.x",
|
||||
"html-entities": "^2.4.0",
|
||||
"http-server": "^14.1.1",
|
||||
"husky": "^8.0.1",
|
||||
"jquery": "^3.6.0",
|
||||
"jsdoc": "^3.6.11",
|
||||
"jsdom": "^20.0.0",
|
||||
"karma": "^6.4.0",
|
||||
"husky": "^9.0.7",
|
||||
"inquirer": "^8.2.5",
|
||||
"jquery": "^3.6.3",
|
||||
"jsdoc": "^4.0.2",
|
||||
"jsdom": "^24.0.0",
|
||||
"karma": "^6.4.1",
|
||||
"karma-chai": "^0.1.0",
|
||||
"karma-chrome-launcher": "^3.1.1",
|
||||
"karma-firefox-launcher": "^2.1.2",
|
||||
"karma-ie-launcher": "^1.0.0",
|
||||
"karma-mocha": "^2.0.1",
|
||||
"karma-sinon": "^1.0.5",
|
||||
"karma-spec-reporter": "0.0.34",
|
||||
"lint-staged": "^13.0.3",
|
||||
"make-dir": "^3.1.0",
|
||||
"markdown-table": "2.x",
|
||||
"karma-spec-reporter": "^0.0.36",
|
||||
"lint-staged": "^15.0.2",
|
||||
"memoizee": "^0.4.15",
|
||||
"minami": "^1.2.3",
|
||||
"mocha": "^10.0.0",
|
||||
"mocha": "^10.2.0",
|
||||
"node-notifier": "^10.0.1",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"prettier": "^2.7.1",
|
||||
"proxyquire": "^2.1.3",
|
||||
"revalidator": "~0.3.1",
|
||||
"selenium-webdriver": "^4.5.0",
|
||||
"serve-handler": "^6.1.3",
|
||||
"sinon": "^11.1.2",
|
||||
"outdent": "^0.8.0",
|
||||
"patch-package": "^8.0.0",
|
||||
"prettier": "^3.0.3",
|
||||
"revalidator": "^0.3.1",
|
||||
"selenium-webdriver": "^4.7.1",
|
||||
"serve-handler": "^6.1.5",
|
||||
"sinon": "^18.0.0",
|
||||
"sri-toolbox": "^0.2.0",
|
||||
"standard-version": "^9.5.0",
|
||||
"start-server-and-test": "^1.14.0",
|
||||
"typedarray": "^0.0.6",
|
||||
"typescript": "^4.7.4",
|
||||
"uglify-js": "^3.16.2",
|
||||
"wcag-act-rules": "github:w3c/wcag-act-rules#9416ea6",
|
||||
"start-server-and-test": "^2.0.1",
|
||||
"typedarray": "^0.0.7",
|
||||
"typescript": "^5.2.2",
|
||||
"uglify-js": "^3.17.4",
|
||||
"wcag-act-rules": "github:w3c/wcag-act-rules#dc90495a5533d326b300ee5a9487afdfc6d493c0",
|
||||
"weakmap-polyfill": "^2.0.4"
|
||||
},
|
||||
"lint-staged": {
|
||||
|
|
@ -182,8 +194,8 @@
|
|||
"prettier --write"
|
||||
],
|
||||
"*.js": [
|
||||
"eslint --fix",
|
||||
"prettier --write"
|
||||
"prettier --write",
|
||||
"eslint --fix"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
|||
56
node_modules/axe-core/sri-history.json
generated
vendored
56
node_modules/axe-core/sri-history.json
generated
vendored
|
|
@ -334,5 +334,61 @@
|
|||
"4.6.2": {
|
||||
"axe.js": "sha256-6BCLF6TcLdHG7Ok3yyV7HOKF/Se1yJQgzgAiz3AnzX0=",
|
||||
"axe.min.js": "sha256-US+MWxPC7r+aFzKfSCl+effrzN0Qoz4tS2wxlIpmsCM="
|
||||
},
|
||||
"4.6.3": {
|
||||
"axe.js": "sha256-N8N7PwDRFNyzsL80UoXAE5ibkfu/KJ71Ixw0zWYX+yM=",
|
||||
"axe.min.js": "sha256-vOhlk9sgryrpUZOv6801a9uYhuG6Z/NBJmOJb0aAQQQ="
|
||||
},
|
||||
"4.7.0": {
|
||||
"axe.js": "sha256-JxLtVRh3EvdwPhr6ipXNnoN2ugUYvpwIAx4usr5jKcU=",
|
||||
"axe.min.js": "sha256-q5YvHv5paIlrWyys5xKDb79XtmXYpiAHFVZcg61Qick="
|
||||
},
|
||||
"4.7.1": {
|
||||
"axe.js": "sha256-1ruJfhOP+fO+uuQiIs1U9P4ILYOxnFc5MCH7LzaH+Lc=",
|
||||
"axe.min.js": "sha256-ReDVBpTYnDCOjYC3eTfhCwsWtAcleTtuoekVW8eoU38="
|
||||
},
|
||||
"4.7.2": {
|
||||
"axe.js": "sha256-EE+7F84cDAG4yvmWb/Cbb3WmQaNAGj4FwU4cKxJZqjg=",
|
||||
"axe.min.js": "sha256-VTWaX4yE65/ofnyeohwMLLKvU1GEYDoWOCbKlcqFMs8="
|
||||
},
|
||||
"4.8.0": {
|
||||
"axe.js": "sha256-Rd1U88z7mahhAvxYhchoCfwWxV8R/H+BcSoX6XTQ0gY=",
|
||||
"axe.min.js": "sha256-1oZiCfWnUt2rwqLWzpkoxlcEaOH53/QFYke0jo+KecA="
|
||||
},
|
||||
"4.8.1": {
|
||||
"axe.js": "sha256-xAiDRfIT8BFIcORsehvJYCROe4K+U0Ak5MVJMaCvn9k=",
|
||||
"axe.min.js": "sha256-EkEySwRAuCQljOYWJ29XQp4s80KPPlsmKwFtKFn6Vr0="
|
||||
},
|
||||
"4.8.2": {
|
||||
"axe.js": "sha256-VZuuruUDDRwfzCo4ZDDzXiVefuy4pSW6BlGx+D/ucC0=",
|
||||
"axe.min.js": "sha256-O9U055OcfxyKV61g3Qn7N9mvpJNht0RCPcFw+QjWTG4="
|
||||
},
|
||||
"4.8.3": {
|
||||
"axe.js": "sha256-YWpAAdIo7fwKmLq8nJx1f6pwt7HAXwWm15RSGJKbxhw=",
|
||||
"axe.min.js": "sha256-/mct+I/4SJnZ30Ce+j9T7ll9zPwzbJVrjdKpbKIP+NA="
|
||||
},
|
||||
"4.8.4": {
|
||||
"axe.js": "sha256-RRn+EjX3fX893zHeLzMQebvK4/HR3yZpVFNxsV3Pbm0=",
|
||||
"axe.min.js": "sha256-HXl1GEx0+LwVB27fLmwgdXCmeTM2beVwwFosWvFzLmo="
|
||||
},
|
||||
"4.9.0": {
|
||||
"axe.js": "sha256-76H9rp5bFFzCQrHiNlIEZniM30DftZzZ5pUJd/ZG4Qg=",
|
||||
"axe.min.js": "sha256-leYBst5Y3dlncZ2YVBpe5s//BhrMC7XbK9yhUCAyPNA="
|
||||
},
|
||||
"4.9.1": {
|
||||
"axe.js": "sha256-t7u8FiO2U54AN0dyGu2hAMcYdgpuXEkM6n+Eup6lMyQ=",
|
||||
"axe.min.js": "sha256-GCpA3F2CB+YmwJhhrWUCfUXoXjpW0BBF0Gji6I7kMuo="
|
||||
},
|
||||
"4.10.0": {
|
||||
"axe.js": "sha256-n/KN+TQhojZXnh49uUEY3/Df5WszWcCEothu0P58qDY=",
|
||||
"axe.min.js": "sha256-SDpP7Usv5Wz9lKWFZQIMhjmD+EFeKCfzSB3ONecO/7U="
|
||||
},
|
||||
"4.10.1": {
|
||||
"axe.js": "sha256-KQDnBck/AyiC+OE3x0AJ/EQYykYTnH+1z7punr4Xc0c=",
|
||||
"axe.min.js": "sha256-OBXf33U9n+qCj0mI9MLkiVyC1nCzabDnmopjyuv1gZ4="
|
||||
},
|
||||
"4.10.2": {
|
||||
"axe.js": "sha256-+gZL/deLqt1La/rK9St/UzNzWa4co71yGT5I07FuZuE=",
|
||||
"axe.min.js": "sha256-tRHNnewBx29LKtFyO2a22zfUwutO0ZkHbhgp2e57deM="
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue