@axe-core/reporter-earl
Version:
A EARL+JSON-LD reporter for axe-core
50 lines (47 loc) • 1.25 kB
text/typescript
declare enum EarlType {
WebPage = "WebPage",
Assertion = "Assertion",
TestCase = "TestCase",
TestResult = "TestResult"
}
interface EarlResult {
'@context': object;
'@type': EarlType.WebPage;
url: string;
assertions: Assertion[];
}
interface Assertion {
'@type': EarlType.Assertion;
mode: 'earl:automatic';
assertedBy: {};
test: {
'@type': EarlType.TestCase;
'@id': string;
};
result: TestResult;
}
interface TestResult {
'@type': EarlType.TestResult;
outcome: string;
pointer?: string;
info?: string;
}
interface RawResult {
id: string;
helpUrl: string;
description: string;
violations?: RawNodeResult[];
passes?: RawNodeResult[];
incomplete?: RawNodeResult[];
}
interface RawNodeResult {
node: {
selector: Selector;
};
result?: 'passed' | 'failed' | 'inapplicable' | 'incomplete';
}
type SelectorItem = string[] | string;
type Selector = SelectorItem[];
declare function createEarlReport(rawResults: RawResult[], url?: string): EarlResult;
declare function axeReporterEarl(rawResults: RawResult[], {}: {}, callback: (result: EarlResult) => unknown): void;
export { createEarlReport, axeReporterEarl as default };