@govtechsg/oobee 0.10.20 → 0.10.28

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.
Files changed (42) hide show
  1. package/.github/workflows/docker-test.yml +1 -1
  2. package/DETAILS.md +40 -25
  3. package/Dockerfile +41 -47
  4. package/LICENSE-3RD-PARTY-REPORT.txt +448 -0
  5. package/LICENSE-3RD-PARTY.txt +19913 -0
  6. package/README.md +26 -0
  7. package/__mocks__/mock-report.html +1503 -1360
  8. package/package.json +9 -5
  9. package/scripts/decodeUnzipParse.js +29 -0
  10. package/scripts/install_oobee_dependencies.command +2 -2
  11. package/scripts/install_oobee_dependencies.ps1 +3 -3
  12. package/src/cli.ts +9 -7
  13. package/src/combine.ts +13 -5
  14. package/src/constants/cliFunctions.ts +38 -1
  15. package/src/constants/common.ts +31 -5
  16. package/src/constants/constants.ts +28 -26
  17. package/src/constants/questions.ts +4 -1
  18. package/src/crawlers/commonCrawlerFunc.ts +114 -152
  19. package/src/crawlers/crawlDomain.ts +25 -32
  20. package/src/crawlers/crawlIntelligentSitemap.ts +7 -1
  21. package/src/crawlers/crawlLocalFile.ts +1 -1
  22. package/src/crawlers/crawlSitemap.ts +1 -1
  23. package/src/crawlers/custom/flagUnlabelledClickableElements.ts +546 -472
  24. package/src/crawlers/customAxeFunctions.ts +1 -1
  25. package/src/index.ts +2 -2
  26. package/src/mergeAxeResults.ts +590 -214
  27. package/src/screenshotFunc/pdfScreenshotFunc.ts +3 -3
  28. package/src/static/ejs/partials/components/scanAbout.ejs +65 -0
  29. package/src/static/ejs/partials/components/wcagCompliance.ejs +10 -29
  30. package/src/static/ejs/partials/footer.ejs +10 -13
  31. package/src/static/ejs/partials/scripts/categorySummary.ejs +2 -2
  32. package/src/static/ejs/partials/scripts/decodeUnzipParse.ejs +3 -0
  33. package/src/static/ejs/partials/scripts/reportSearch.ejs +1 -0
  34. package/src/static/ejs/partials/scripts/ruleOffcanvas.ejs +54 -52
  35. package/src/static/ejs/partials/scripts/scanAboutScript.ejs +38 -0
  36. package/src/static/ejs/partials/styles/styles.ejs +26 -1
  37. package/src/static/ejs/partials/summaryMain.ejs +15 -42
  38. package/src/static/ejs/report.ejs +22 -12
  39. package/src/utils.ts +10 -2
  40. package/src/xPathToCss.ts +186 -0
  41. package/a11y-scan-results.zip +0 -0
  42. package/src/types/xpath-to-css.d.ts +0 -3
package/README.md CHANGED
@@ -346,6 +346,32 @@ Options:
346
346
  ks
347
347
  [string] [choices: "default", "disable-oobee", "enable-wcag-aaa", "disable-oob
348
348
  ee,enable-wcag-aaa"] [default: "default"]
349
+ -g, --generateJsonFiles Generate two gzipped and base64-encoded
350
+ JSON files containing the results of the
351
+ accessibility scan:
352
+ 1. `scanData.json`: Provides an overview of
353
+ the scan, including:
354
+ - WCAG compliance score
355
+ - Violated WCAG clauses
356
+ - Metadata (e.g., scan start and end times)
357
+ - Pages scanned and skipped
358
+ 2. `scanItems.json`: Contains detailed
359
+ information about detected accessibility
360
+ issues, including:
361
+ - Severity levels
362
+ - Issue descriptions
363
+ - Related WCAG guidelines
364
+ - URL of the pages violated the WCAG clauses
365
+ Useful for in-depth analysis or integration
366
+ with external reporting tools.
367
+
368
+ To obtain the JSON files, you need to base64-decode
369
+ the file followed by gunzip. For example:
370
+ (macOS) base64 -D -i scanData.json.gz.b64 |
371
+ gunzip > scanData.json\n
372
+ (linux) base64 -d scanData.json.gz.b64 |
373
+ gunzip > scanData.json\n
374
+ [string] [choices: "yes", "no"] [default: "no"]
349
375
 
350
376
  Examples:
351
377
  To scan sitemap of website:', 'npm run cli -- -c [ 1 | sitemap ] -u <url_lin