@sc4rfurryx/proteusjs 1.0.0 â 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +331 -77
- package/dist/.tsbuildinfo +1 -1
- package/dist/adapters/react.d.ts +139 -0
- package/dist/adapters/react.esm.js +848 -0
- package/dist/adapters/react.esm.js.map +1 -0
- package/dist/adapters/svelte.d.ts +181 -0
- package/dist/adapters/svelte.esm.js +908 -0
- package/dist/adapters/svelte.esm.js.map +1 -0
- package/dist/adapters/vue.d.ts +205 -0
- package/dist/adapters/vue.esm.js +872 -0
- package/dist/adapters/vue.esm.js.map +1 -0
- package/dist/modules/a11y-audit.d.ts +39 -0
- package/dist/modules/a11y-audit.esm.js +509 -0
- package/dist/modules/a11y-audit.esm.js.map +1 -0
- package/dist/modules/a11y-primitives.d.ts +69 -0
- package/dist/modules/a11y-primitives.esm.js +445 -0
- package/dist/modules/a11y-primitives.esm.js.map +1 -0
- package/dist/modules/anchor.d.ts +29 -0
- package/dist/modules/anchor.esm.js +218 -0
- package/dist/modules/anchor.esm.js.map +1 -0
- package/dist/modules/container.d.ts +60 -0
- package/dist/modules/container.esm.js +194 -0
- package/dist/modules/container.esm.js.map +1 -0
- package/dist/modules/perf.d.ts +82 -0
- package/dist/modules/perf.esm.js +257 -0
- package/dist/modules/perf.esm.js.map +1 -0
- package/dist/modules/popover.d.ts +33 -0
- package/dist/modules/popover.esm.js +191 -0
- package/dist/modules/popover.esm.js.map +1 -0
- package/dist/modules/scroll.d.ts +43 -0
- package/dist/modules/scroll.esm.js +195 -0
- package/dist/modules/scroll.esm.js.map +1 -0
- package/dist/modules/transitions.d.ts +35 -0
- package/dist/modules/transitions.esm.js +120 -0
- package/dist/modules/transitions.esm.js.map +1 -0
- package/dist/modules/typography.d.ts +72 -0
- package/dist/modules/typography.esm.js +168 -0
- package/dist/modules/typography.esm.js.map +1 -0
- package/dist/proteus.cjs.js +2332 -12
- package/dist/proteus.cjs.js.map +1 -1
- package/dist/proteus.d.ts +561 -12
- package/dist/proteus.esm.js +2323 -12
- package/dist/proteus.esm.js.map +1 -1
- package/dist/proteus.esm.min.js +3 -3
- package/dist/proteus.esm.min.js.map +1 -1
- package/dist/proteus.js +2332 -12
- package/dist/proteus.js.map +1 -1
- package/dist/proteus.min.js +3 -3
- package/dist/proteus.min.js.map +1 -1
- package/package.json +61 -4
- package/src/adapters/react.ts +264 -0
- package/src/adapters/svelte.ts +321 -0
- package/src/adapters/vue.ts +268 -0
- package/src/index.ts +33 -6
- package/src/modules/a11y-audit/index.ts +608 -0
- package/src/modules/a11y-primitives/index.ts +554 -0
- package/src/modules/anchor/index.ts +257 -0
- package/src/modules/container/index.ts +230 -0
- package/src/modules/perf/index.ts +291 -0
- package/src/modules/popover/index.ts +238 -0
- package/src/modules/scroll/index.ts +251 -0
- package/src/modules/transitions/index.ts +145 -0
- package/src/modules/typography/index.ts +239 -0
- package/src/utils/version.ts +1 -1
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"vue.esm.js","sources":["../../src/modules/transitions/index.ts","../../src/modules/scroll/index.ts","../../src/modules/popover/index.ts","../../src/modules/anchor/index.ts","../../src/modules/container/index.ts","../../src/adapters/vue.ts"],"sourcesContent":[null,null,null,null,null,null],"names":["attachPopover"],"mappings":"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"}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
/**
|
2
|
+
* @sc4rfurryx/proteusjs/a11y-audit
|
3
|
+
* Accessibility audits for development (dev-only)
|
4
|
+
*
|
5
|
+
* @version 1.1.0
|
6
|
+
* @author sc4rfurry
|
7
|
+
* @license MIT
|
8
|
+
*/
|
9
|
+
interface AuditOptions {
|
10
|
+
rules?: string[];
|
11
|
+
format?: 'console' | 'json';
|
12
|
+
openInBrowser?: boolean;
|
13
|
+
}
|
14
|
+
interface AuditViolation {
|
15
|
+
id: string;
|
16
|
+
impact: 'minor' | 'moderate' | 'serious' | 'critical';
|
17
|
+
nodes: number;
|
18
|
+
help: string;
|
19
|
+
fix: string;
|
20
|
+
elements?: Element[];
|
21
|
+
}
|
22
|
+
interface AuditReport {
|
23
|
+
violations: AuditViolation[];
|
24
|
+
passes: number;
|
25
|
+
incomplete: number;
|
26
|
+
timestamp: number;
|
27
|
+
url: string;
|
28
|
+
}
|
29
|
+
/**
|
30
|
+
* Run accessibility audits with actionable output
|
31
|
+
* DEV-ONLY: This module should be tree-shaken in production
|
32
|
+
*/
|
33
|
+
declare function audit(target?: Document | Element, options?: AuditOptions): Promise<AuditReport>;
|
34
|
+
declare const _default: {
|
35
|
+
audit: typeof audit;
|
36
|
+
};
|
37
|
+
|
38
|
+
export { audit, _default as default };
|
39
|
+
export type { AuditOptions, AuditReport, AuditViolation };
|
@@ -0,0 +1,509 @@
|
|
1
|
+
/*!
|
2
|
+
* ProteusJS v1.1.0
|
3
|
+
* Shape-shifting responsive design that adapts like the sea god himself
|
4
|
+
* (c) 2025 sc4rfurry
|
5
|
+
* Released under the MIT License
|
6
|
+
*/
|
7
|
+
/**
|
8
|
+
* @sc4rfurryx/proteusjs/a11y-audit
|
9
|
+
* Accessibility audits for development (dev-only)
|
10
|
+
*
|
11
|
+
* @version 1.1.0
|
12
|
+
* @author sc4rfurry
|
13
|
+
* @license MIT
|
14
|
+
*/
|
15
|
+
/**
|
16
|
+
* Run accessibility audits with actionable output
|
17
|
+
* DEV-ONLY: This module should be tree-shaken in production
|
18
|
+
*/
|
19
|
+
async function audit(target = document, options = {}) {
|
20
|
+
// Ensure this only runs in development
|
21
|
+
if (process.env['NODE_ENV'] === 'production') {
|
22
|
+
console.warn('a11y-audit should not be used in production');
|
23
|
+
return {
|
24
|
+
violations: [],
|
25
|
+
passes: 0,
|
26
|
+
incomplete: 0,
|
27
|
+
timestamp: Date.now(),
|
28
|
+
url: window.location.href
|
29
|
+
};
|
30
|
+
}
|
31
|
+
const { rules = ['color-contrast', 'heading-order', 'image-alt', 'label', 'link-name', 'button-name'], format = 'console', openInBrowser = false } = options;
|
32
|
+
const violations = [];
|
33
|
+
let passes = 0;
|
34
|
+
let incomplete = 0;
|
35
|
+
// Basic accessibility checks
|
36
|
+
const checks = {
|
37
|
+
'color-contrast': checkColorContrast,
|
38
|
+
'heading-order': checkHeadingOrder,
|
39
|
+
'image-alt': checkImageAlt,
|
40
|
+
'label': checkFormLabels,
|
41
|
+
'link-name': checkLinkNames,
|
42
|
+
'button-name': checkButtonNames,
|
43
|
+
'focus-visible': checkFocusVisible,
|
44
|
+
'aria-labels': checkAriaLabels,
|
45
|
+
'landmark-roles': checkLandmarkRoles,
|
46
|
+
'skip-links': checkSkipLinks
|
47
|
+
};
|
48
|
+
// Run selected checks
|
49
|
+
for (const ruleId of rules) {
|
50
|
+
if (checks[ruleId]) {
|
51
|
+
try {
|
52
|
+
const result = await checks[ruleId](target);
|
53
|
+
if (result.violations.length > 0) {
|
54
|
+
violations.push(...result.violations);
|
55
|
+
}
|
56
|
+
else {
|
57
|
+
passes++;
|
58
|
+
}
|
59
|
+
}
|
60
|
+
catch (error) {
|
61
|
+
incomplete++;
|
62
|
+
console.warn(`Failed to run accessibility check: ${ruleId}`, error);
|
63
|
+
}
|
64
|
+
}
|
65
|
+
}
|
66
|
+
const report = {
|
67
|
+
violations,
|
68
|
+
passes,
|
69
|
+
incomplete,
|
70
|
+
timestamp: Date.now(),
|
71
|
+
url: window.location.href
|
72
|
+
};
|
73
|
+
// Output results
|
74
|
+
if (format === 'console') {
|
75
|
+
outputToConsole(report);
|
76
|
+
}
|
77
|
+
if (openInBrowser) {
|
78
|
+
openReportInBrowser(report);
|
79
|
+
}
|
80
|
+
return report;
|
81
|
+
}
|
82
|
+
// Individual check functions
|
83
|
+
async function checkColorContrast(target) {
|
84
|
+
const violations = [];
|
85
|
+
const elements = target.querySelectorAll('*');
|
86
|
+
elements.forEach(element => {
|
87
|
+
const style = getComputedStyle(element);
|
88
|
+
const color = style.color;
|
89
|
+
const backgroundColor = style.backgroundColor;
|
90
|
+
// Simple contrast check (would need more sophisticated implementation)
|
91
|
+
if (color && backgroundColor && color !== 'rgba(0, 0, 0, 0)' && backgroundColor !== 'rgba(0, 0, 0, 0)') {
|
92
|
+
const contrast = calculateContrast(color, backgroundColor);
|
93
|
+
if (contrast < 4.5) {
|
94
|
+
violations.push({
|
95
|
+
id: 'color-contrast',
|
96
|
+
impact: 'serious',
|
97
|
+
nodes: 1,
|
98
|
+
help: 'Elements must have sufficient color contrast',
|
99
|
+
fix: `Increase contrast ratio to at least 4.5:1. Current: ${contrast.toFixed(2)}:1`,
|
100
|
+
elements: [element]
|
101
|
+
});
|
102
|
+
}
|
103
|
+
}
|
104
|
+
});
|
105
|
+
return { violations };
|
106
|
+
}
|
107
|
+
async function checkHeadingOrder(target) {
|
108
|
+
const violations = [];
|
109
|
+
const headings = target.querySelectorAll('h1, h2, h3, h4, h5, h6');
|
110
|
+
let lastLevel = 0;
|
111
|
+
headings.forEach(heading => {
|
112
|
+
const level = parseInt(heading.tagName.charAt(1));
|
113
|
+
if (level > lastLevel + 1) {
|
114
|
+
violations.push({
|
115
|
+
id: 'heading-order',
|
116
|
+
impact: 'moderate',
|
117
|
+
nodes: 1,
|
118
|
+
help: 'Heading levels should only increase by one',
|
119
|
+
fix: `Change ${heading.tagName} to H${lastLevel + 1} or add intermediate headings`,
|
120
|
+
elements: [heading]
|
121
|
+
});
|
122
|
+
}
|
123
|
+
lastLevel = level;
|
124
|
+
});
|
125
|
+
return { violations };
|
126
|
+
}
|
127
|
+
async function checkImageAlt(target) {
|
128
|
+
const violations = [];
|
129
|
+
const images = target.querySelectorAll('img');
|
130
|
+
images.forEach(img => {
|
131
|
+
if (!img.hasAttribute('alt')) {
|
132
|
+
violations.push({
|
133
|
+
id: 'image-alt',
|
134
|
+
impact: 'critical',
|
135
|
+
nodes: 1,
|
136
|
+
help: 'Images must have alternative text',
|
137
|
+
fix: 'Add alt attribute with descriptive text or alt="" for decorative images',
|
138
|
+
elements: [img]
|
139
|
+
});
|
140
|
+
}
|
141
|
+
});
|
142
|
+
return { violations };
|
143
|
+
}
|
144
|
+
async function checkFormLabels(target) {
|
145
|
+
const violations = [];
|
146
|
+
const inputs = target.querySelectorAll('input, select, textarea');
|
147
|
+
inputs.forEach(input => {
|
148
|
+
const hasLabel = input.hasAttribute('aria-label') ||
|
149
|
+
input.hasAttribute('aria-labelledby') ||
|
150
|
+
target.querySelector(`label[for="${input.id}"]`) ||
|
151
|
+
input.closest('label');
|
152
|
+
if (!hasLabel) {
|
153
|
+
violations.push({
|
154
|
+
id: 'label',
|
155
|
+
impact: 'critical',
|
156
|
+
nodes: 1,
|
157
|
+
help: 'Form elements must have labels',
|
158
|
+
fix: 'Add a label element, aria-label, or aria-labelledby attribute',
|
159
|
+
elements: [input]
|
160
|
+
});
|
161
|
+
}
|
162
|
+
});
|
163
|
+
return { violations };
|
164
|
+
}
|
165
|
+
async function checkLinkNames(target) {
|
166
|
+
const violations = [];
|
167
|
+
const links = target.querySelectorAll('a[href]');
|
168
|
+
links.forEach(link => {
|
169
|
+
const text = link.textContent?.trim();
|
170
|
+
const ariaLabel = link.getAttribute('aria-label');
|
171
|
+
if (!text && !ariaLabel) {
|
172
|
+
violations.push({
|
173
|
+
id: 'link-name',
|
174
|
+
impact: 'serious',
|
175
|
+
nodes: 1,
|
176
|
+
help: 'Links must have discernible text',
|
177
|
+
fix: 'Add descriptive text content or aria-label attribute',
|
178
|
+
elements: [link]
|
179
|
+
});
|
180
|
+
}
|
181
|
+
});
|
182
|
+
return { violations };
|
183
|
+
}
|
184
|
+
async function checkButtonNames(target) {
|
185
|
+
const violations = [];
|
186
|
+
const buttons = target.querySelectorAll('button, input[type="button"], input[type="submit"]');
|
187
|
+
buttons.forEach(button => {
|
188
|
+
const text = button.textContent?.trim();
|
189
|
+
const ariaLabel = button.getAttribute('aria-label');
|
190
|
+
const value = button.getAttribute('value');
|
191
|
+
if (!text && !ariaLabel && !value) {
|
192
|
+
violations.push({
|
193
|
+
id: 'button-name',
|
194
|
+
impact: 'serious',
|
195
|
+
nodes: 1,
|
196
|
+
help: 'Buttons must have discernible text',
|
197
|
+
fix: 'Add text content, aria-label, or value attribute',
|
198
|
+
elements: [button]
|
199
|
+
});
|
200
|
+
}
|
201
|
+
});
|
202
|
+
return { violations };
|
203
|
+
}
|
204
|
+
async function checkFocusVisible(target) {
|
205
|
+
const violations = [];
|
206
|
+
const focusableElements = target.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
|
207
|
+
focusableElements.forEach(element => {
|
208
|
+
const styles = getComputedStyle(element);
|
209
|
+
const hasVisibleFocus = styles.outline !== 'none' && styles.outline !== '0px' &&
|
210
|
+
styles.outline !== '0' && styles.outlineWidth !== '0px';
|
211
|
+
// Check if element has custom focus styles
|
212
|
+
const hasCustomFocus = styles.boxShadow.includes('inset') ||
|
213
|
+
styles.border !== styles.borderColor ||
|
214
|
+
element.hasAttribute('data-focus-visible');
|
215
|
+
if (!hasVisibleFocus && !hasCustomFocus) {
|
216
|
+
violations.push({
|
217
|
+
id: 'focus-visible',
|
218
|
+
impact: 'serious',
|
219
|
+
nodes: 1,
|
220
|
+
help: 'Interactive elements must have visible focus indicators',
|
221
|
+
fix: 'Add outline, box-shadow, or other visible focus styles',
|
222
|
+
elements: [element]
|
223
|
+
});
|
224
|
+
}
|
225
|
+
});
|
226
|
+
return { violations };
|
227
|
+
}
|
228
|
+
async function checkAriaLabels(target) {
|
229
|
+
const violations = [];
|
230
|
+
// Check for aria-labelledby pointing to non-existent elements
|
231
|
+
const elementsWithLabelledBy = target.querySelectorAll('[aria-labelledby]');
|
232
|
+
elementsWithLabelledBy.forEach(element => {
|
233
|
+
const labelledBy = element.getAttribute('aria-labelledby');
|
234
|
+
if (labelledBy) {
|
235
|
+
const labelIds = labelledBy.split(' ');
|
236
|
+
const missingIds = labelIds.filter(id => !target.querySelector(`#${id}`));
|
237
|
+
if (missingIds.length > 0) {
|
238
|
+
violations.push({
|
239
|
+
id: 'aria-labelledby-invalid',
|
240
|
+
impact: 'serious',
|
241
|
+
nodes: 1,
|
242
|
+
help: 'aria-labelledby must reference existing elements',
|
243
|
+
fix: `Fix or remove references to missing IDs: ${missingIds.join(', ')}`,
|
244
|
+
elements: [element]
|
245
|
+
});
|
246
|
+
}
|
247
|
+
}
|
248
|
+
});
|
249
|
+
// Check for aria-describedby pointing to non-existent elements
|
250
|
+
const elementsWithDescribedBy = target.querySelectorAll('[aria-describedby]');
|
251
|
+
elementsWithDescribedBy.forEach(element => {
|
252
|
+
const describedBy = element.getAttribute('aria-describedby');
|
253
|
+
if (describedBy) {
|
254
|
+
const descriptionIds = describedBy.split(' ');
|
255
|
+
const missingIds = descriptionIds.filter(id => !target.querySelector(`#${id}`));
|
256
|
+
if (missingIds.length > 0) {
|
257
|
+
violations.push({
|
258
|
+
id: 'aria-describedby-invalid',
|
259
|
+
impact: 'moderate',
|
260
|
+
nodes: 1,
|
261
|
+
help: 'aria-describedby must reference existing elements',
|
262
|
+
fix: `Fix or remove references to missing IDs: ${missingIds.join(', ')}`,
|
263
|
+
elements: [element]
|
264
|
+
});
|
265
|
+
}
|
266
|
+
}
|
267
|
+
});
|
268
|
+
return { violations };
|
269
|
+
}
|
270
|
+
async function checkLandmarkRoles(target) {
|
271
|
+
const violations = [];
|
272
|
+
// Check for missing main landmark
|
273
|
+
const mainElements = target.querySelectorAll('main, [role="main"]');
|
274
|
+
if (mainElements.length === 0) {
|
275
|
+
violations.push({
|
276
|
+
id: 'landmark-main-missing',
|
277
|
+
impact: 'moderate',
|
278
|
+
nodes: 0,
|
279
|
+
help: 'Page should have a main landmark',
|
280
|
+
fix: 'Add a <main> element or role="main" to identify the main content area'
|
281
|
+
});
|
282
|
+
}
|
283
|
+
else if (mainElements.length > 1) {
|
284
|
+
violations.push({
|
285
|
+
id: 'landmark-main-multiple',
|
286
|
+
impact: 'moderate',
|
287
|
+
nodes: mainElements.length,
|
288
|
+
help: 'Page should have only one main landmark',
|
289
|
+
fix: 'Ensure only one main element or role="main" exists per page',
|
290
|
+
elements: Array.from(mainElements)
|
291
|
+
});
|
292
|
+
}
|
293
|
+
// Check for navigation landmarks without labels when multiple exist
|
294
|
+
const navElements = target.querySelectorAll('nav, [role="navigation"]');
|
295
|
+
if (navElements.length > 1) {
|
296
|
+
navElements.forEach(nav => {
|
297
|
+
const hasLabel = nav.hasAttribute('aria-label') ||
|
298
|
+
nav.hasAttribute('aria-labelledby') ||
|
299
|
+
nav.querySelector('h1, h2, h3, h4, h5, h6');
|
300
|
+
if (!hasLabel) {
|
301
|
+
violations.push({
|
302
|
+
id: 'landmark-nav-unlabeled',
|
303
|
+
impact: 'moderate',
|
304
|
+
nodes: 1,
|
305
|
+
help: 'Multiple navigation landmarks should be labeled',
|
306
|
+
fix: 'Add aria-label or aria-labelledby to distinguish navigation areas',
|
307
|
+
elements: [nav]
|
308
|
+
});
|
309
|
+
}
|
310
|
+
});
|
311
|
+
}
|
312
|
+
return { violations };
|
313
|
+
}
|
314
|
+
async function checkSkipLinks(target) {
|
315
|
+
const violations = [];
|
316
|
+
// Check for skip links in documents with navigation
|
317
|
+
const navElements = target.querySelectorAll('nav, [role="navigation"]');
|
318
|
+
const mainElement = target.querySelector('main, [role="main"]');
|
319
|
+
if (navElements.length > 0 && mainElement) {
|
320
|
+
const skipLinks = target.querySelectorAll('a[href^="#"]');
|
321
|
+
const hasSkipToMain = Array.from(skipLinks).some(link => {
|
322
|
+
const href = link.getAttribute('href');
|
323
|
+
return href && (href === '#main' ||
|
324
|
+
href === `#${mainElement.id}` ||
|
325
|
+
link.textContent?.toLowerCase().includes('skip to main') ||
|
326
|
+
link.textContent?.toLowerCase().includes('skip to content'));
|
327
|
+
});
|
328
|
+
if (!hasSkipToMain) {
|
329
|
+
violations.push({
|
330
|
+
id: 'skip-link-missing',
|
331
|
+
impact: 'moderate',
|
332
|
+
nodes: 0,
|
333
|
+
help: 'Page with navigation should have skip links',
|
334
|
+
fix: 'Add a skip link to the main content area for keyboard users'
|
335
|
+
});
|
336
|
+
}
|
337
|
+
}
|
338
|
+
// Check that skip links are properly positioned (should be first focusable element)
|
339
|
+
const firstFocusable = target.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
|
340
|
+
if (firstFocusable && firstFocusable.tagName === 'A') {
|
341
|
+
const href = firstFocusable.getAttribute('href');
|
342
|
+
if (!href?.startsWith('#')) {
|
343
|
+
violations.push({
|
344
|
+
id: 'skip-link-not-first',
|
345
|
+
impact: 'minor',
|
346
|
+
nodes: 1,
|
347
|
+
help: 'Skip links should be the first focusable elements',
|
348
|
+
fix: 'Move skip links to the beginning of the document',
|
349
|
+
elements: [firstFocusable]
|
350
|
+
});
|
351
|
+
}
|
352
|
+
}
|
353
|
+
return { violations };
|
354
|
+
}
|
355
|
+
// Utility functions
|
356
|
+
function calculateContrast(color1, color2) {
|
357
|
+
// Convert colors to RGB values
|
358
|
+
const rgb1 = parseColor(color1);
|
359
|
+
const rgb2 = parseColor(color2);
|
360
|
+
if (!rgb1 || !rgb2)
|
361
|
+
return 4.5; // Fallback if parsing fails
|
362
|
+
// Calculate relative luminance
|
363
|
+
const l1 = getRelativeLuminance(rgb1);
|
364
|
+
const l2 = getRelativeLuminance(rgb2);
|
365
|
+
// Calculate contrast ratio
|
366
|
+
const lighter = Math.max(l1, l2);
|
367
|
+
const darker = Math.min(l1, l2);
|
368
|
+
return (lighter + 0.05) / (darker + 0.05);
|
369
|
+
}
|
370
|
+
function parseColor(color) {
|
371
|
+
// Handle rgb() format
|
372
|
+
const rgbMatch = color.match(/rgb\((\d+),\s*(\d+),\s*(\d+)\)/);
|
373
|
+
if (rgbMatch && rgbMatch[1] && rgbMatch[2] && rgbMatch[3]) {
|
374
|
+
return {
|
375
|
+
r: parseInt(rgbMatch[1], 10),
|
376
|
+
g: parseInt(rgbMatch[2], 10),
|
377
|
+
b: parseInt(rgbMatch[3], 10)
|
378
|
+
};
|
379
|
+
}
|
380
|
+
// Handle hex format
|
381
|
+
const hexMatch = color.match(/^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i);
|
382
|
+
if (hexMatch && hexMatch[1] && hexMatch[2] && hexMatch[3]) {
|
383
|
+
return {
|
384
|
+
r: parseInt(hexMatch[1], 16),
|
385
|
+
g: parseInt(hexMatch[2], 16),
|
386
|
+
b: parseInt(hexMatch[3], 16)
|
387
|
+
};
|
388
|
+
}
|
389
|
+
// Handle named colors (basic set)
|
390
|
+
const namedColors = {
|
391
|
+
'black': { r: 0, g: 0, b: 0 },
|
392
|
+
'white': { r: 255, g: 255, b: 255 },
|
393
|
+
'red': { r: 255, g: 0, b: 0 },
|
394
|
+
'green': { r: 0, g: 128, b: 0 },
|
395
|
+
'blue': { r: 0, g: 0, b: 255 }
|
396
|
+
};
|
397
|
+
return namedColors[color.toLowerCase()] || null;
|
398
|
+
}
|
399
|
+
function getRelativeLuminance(rgb) {
|
400
|
+
const { r, g, b } = rgb;
|
401
|
+
// Convert to sRGB
|
402
|
+
const rsRGB = r / 255;
|
403
|
+
const gsRGB = g / 255;
|
404
|
+
const bsRGB = b / 255;
|
405
|
+
// Apply gamma correction
|
406
|
+
const rLinear = rsRGB <= 0.03928 ? rsRGB / 12.92 : Math.pow((rsRGB + 0.055) / 1.055, 2.4);
|
407
|
+
const gLinear = gsRGB <= 0.03928 ? gsRGB / 12.92 : Math.pow((gsRGB + 0.055) / 1.055, 2.4);
|
408
|
+
const bLinear = bsRGB <= 0.03928 ? bsRGB / 12.92 : Math.pow((bsRGB + 0.055) / 1.055, 2.4);
|
409
|
+
// Calculate relative luminance
|
410
|
+
return 0.2126 * rLinear + 0.7152 * gLinear + 0.0722 * bLinear;
|
411
|
+
}
|
412
|
+
function outputToConsole(report) {
|
413
|
+
console.group('đ Accessibility Audit Results');
|
414
|
+
if (report.violations.length === 0) {
|
415
|
+
console.log('â
No accessibility violations found!');
|
416
|
+
}
|
417
|
+
else {
|
418
|
+
console.log(`â Found ${report.violations.length} accessibility violations:`);
|
419
|
+
report.violations.forEach(violation => {
|
420
|
+
const emoji = violation.impact === 'critical' ? 'đ¨' :
|
421
|
+
violation.impact === 'serious' ? 'â ī¸' :
|
422
|
+
violation.impact === 'moderate' ? 'âĄ' : 'âšī¸';
|
423
|
+
console.group(`${emoji} ${violation.help}`);
|
424
|
+
console.log(`Impact: ${violation.impact}`);
|
425
|
+
console.log(`Fix: ${violation.fix}`);
|
426
|
+
if (violation.elements) {
|
427
|
+
console.log('Elements:', violation.elements);
|
428
|
+
}
|
429
|
+
console.groupEnd();
|
430
|
+
});
|
431
|
+
}
|
432
|
+
console.log(`â
${report.passes} checks passed`);
|
433
|
+
if (report.incomplete > 0) {
|
434
|
+
console.log(`â ī¸ ${report.incomplete} checks incomplete`);
|
435
|
+
}
|
436
|
+
console.groupEnd();
|
437
|
+
}
|
438
|
+
function openReportInBrowser(report) {
|
439
|
+
const html = generateHTMLReport(report);
|
440
|
+
const blob = new Blob([html], { type: 'text/html' });
|
441
|
+
const url = URL.createObjectURL(blob);
|
442
|
+
const newWindow = window.open(url, '_blank');
|
443
|
+
if (!newWindow) {
|
444
|
+
console.warn('Could not open report in new window. Please check popup blocker settings.');
|
445
|
+
// Fallback: download the report
|
446
|
+
const link = document.createElement('a');
|
447
|
+
link.href = url;
|
448
|
+
link.download = `proteus-a11y-report-${Date.now()}.html`;
|
449
|
+
link.click();
|
450
|
+
}
|
451
|
+
// Clean up the blob URL after a delay
|
452
|
+
setTimeout(() => URL.revokeObjectURL(url), 1000);
|
453
|
+
}
|
454
|
+
function generateHTMLReport(report) {
|
455
|
+
const violationsList = report.violations.map(violation => `
|
456
|
+
<div class="violation violation--${violation.impact}">
|
457
|
+
<h3>${violation.help}</h3>
|
458
|
+
<p><strong>Impact:</strong> ${violation.impact}</p>
|
459
|
+
<p><strong>Fix:</strong> ${violation.fix}</p>
|
460
|
+
<p><strong>Affected elements:</strong> ${violation.nodes}</p>
|
461
|
+
</div>
|
462
|
+
`).join('');
|
463
|
+
return `
|
464
|
+
<!DOCTYPE html>
|
465
|
+
<html lang="en">
|
466
|
+
<head>
|
467
|
+
<meta charset="UTF-8">
|
468
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
469
|
+
<title>ProteusJS Accessibility Report</title>
|
470
|
+
<style>
|
471
|
+
body { font-family: system-ui, sans-serif; margin: 2rem; line-height: 1.6; }
|
472
|
+
.header { border-bottom: 2px solid #e5e7eb; padding-bottom: 1rem; margin-bottom: 2rem; }
|
473
|
+
.summary { background: #f3f4f6; padding: 1rem; border-radius: 8px; margin-bottom: 2rem; }
|
474
|
+
.violation { border-left: 4px solid #ef4444; padding: 1rem; margin-bottom: 1rem; background: #fef2f2; }
|
475
|
+
.violation--critical { border-color: #dc2626; background: #fef2f2; }
|
476
|
+
.violation--serious { border-color: #ea580c; background: #fff7ed; }
|
477
|
+
.violation--moderate { border-color: #d97706; background: #fffbeb; }
|
478
|
+
.violation--minor { border-color: #65a30d; background: #f7fee7; }
|
479
|
+
.violation h3 { margin-top: 0; color: #374151; }
|
480
|
+
.no-violations { text-align: center; color: #059669; font-size: 1.25rem; padding: 2rem; }
|
481
|
+
</style>
|
482
|
+
</head>
|
483
|
+
<body>
|
484
|
+
<div class="header">
|
485
|
+
<h1>đ ProteusJS Accessibility Report</h1>
|
486
|
+
<p>Generated on ${new Date(report.timestamp).toLocaleString()}</p>
|
487
|
+
<p>URL: ${report.url}</p>
|
488
|
+
</div>
|
489
|
+
|
490
|
+
<div class="summary">
|
491
|
+
<h2>Summary</h2>
|
492
|
+
<p><strong>Violations:</strong> ${report.violations.length}</p>
|
493
|
+
<p><strong>Checks passed:</strong> ${report.passes}</p>
|
494
|
+
<p><strong>Incomplete checks:</strong> ${report.incomplete}</p>
|
495
|
+
</div>
|
496
|
+
|
497
|
+
${report.violations.length === 0 ?
|
498
|
+
'<div class="no-violations">â
No accessibility violations found!</div>' :
|
499
|
+
`<h2>Violations</h2>${violationsList}`}
|
500
|
+
</body>
|
501
|
+
</html>`;
|
502
|
+
}
|
503
|
+
// Export default object for convenience
|
504
|
+
var index = {
|
505
|
+
audit
|
506
|
+
};
|
507
|
+
|
508
|
+
export { audit, index as default };
|
509
|
+
//# sourceMappingURL=a11y-audit.esm.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"a11y-audit.esm.js","sources":["../../src/modules/a11y-audit/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|