testilo 3.3.1 → 3.4.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.
Files changed (35) hide show
  1. package/README.md +30 -0
  2. package/package.json +1 -1
  3. package/procs/compare/cp1/index.html +46 -0
  4. package/procs/compare/cp1/index.js +71 -0
  5. package/procs/digest/dp10a/index.html +2 -2
  6. package/procs/digest/dp10b/index.html +74 -0
  7. package/procs/digest/dp10b/index.js +130 -0
  8. package/procs/digest/dp10c/index.html +55 -0
  9. package/procs/digest/dp10c/index.js +129 -0
  10. package/procs/score/sp10b.js +507 -0
  11. package/procs/score/sp10c.js +465 -0
  12. package/reports/digested/35k1r-railpass.html +1129 -843
  13. package/reports/digested/3aee6-eurail.html +2823 -2372
  14. package/reports/digested/dp10a/35k1r-railpass.html +9302 -0
  15. package/reports/digested/dp10a/3aee6-eurail.html +35782 -0
  16. package/reports/digested/style.css +2 -2
  17. package/reports/raw/3aee6-eurail.json +4 -2
  18. package/reports/scored/35k1r-railpass.json +559 -175
  19. package/reports/scored/3aee6-eurail.json +692 -173
  20. package/score.js +1 -1
  21. package/scoring/data/duplications.json +22 -22
  22. package/scoring/data/groups.json +335 -0
  23. package/scoring/data/packageRules/alfa.tsv +82 -0
  24. package/scoring/data/packageRules/axe.js +390 -0
  25. package/scoring/data/packageRules/ibm.tsv +159 -0
  26. package/scoring/data/packageRules/tenon.tsv +14 -0
  27. package/scoring/data/packageRules/wave.json +1617 -0
  28. package/scoring/data/packageRules/wave.tsv +55 -0
  29. package/scoring/data/testGroups.json +1067 -0
  30. package/scoring/{data → procs}/correlation.js +0 -0
  31. package/scoring/{data → procs}/dupCounts.js +0 -0
  32. package/scoring/procs/groups.js +61 -0
  33. package/scoring/{data → procs}/packageData.js +0 -0
  34. package/scoring/{data → procs}/packageIssues.js +0 -0
  35. package/scoring/procs/regroup.js +39 -0
@@ -11557,6 +11557,7 @@
11557
11557
  "url": "https://www.eurail.com/en",
11558
11558
  "result": {
11559
11559
  "content": {
11560
+ "prevented": true,
11560
11561
  "error": "ERROR: getting ibm test report took too long"
11561
11562
  },
11562
11563
  "url": {
@@ -12143,7 +12144,8 @@
12143
12144
  "level": "violation"
12144
12145
  }
12145
12146
  ]
12146
- }
12147
+ },
12148
+ "prevented": true
12147
12149
  }
12148
12150
  },
12149
12151
  {
@@ -35246,193 +35248,710 @@
35246
35248
  "endTime": "2022-06-08T20:57:59",
35247
35249
  "elapsedSeconds": 154,
35248
35250
  "score": {
35249
- "scoreProcID": "sp10a",
35250
- "duplications": {
35251
- "aatt": {
35252
- "e:F77": 1,
35253
- "e:H36": 4,
35254
- "e:H37": 2,
35255
- "e:H57": 3,
35256
- "e:H58": 2,
35257
- "w:G141": 3,
35258
- "w:H98": 1,
35259
- "e:ARIA6+H53": 1,
35260
- "e:H24": 2,
35261
- "e:G1+G123+G124": 1,
35262
- "w:G90": 1,
35263
- "w:H44": 1
35264
- },
35265
- "alfa": {
35266
- "r3": 2,
35267
- "r28": 4,
35268
- "r2": 2,
35269
- "r4": 3,
35270
- "r7": 2,
35271
- "r53": 3,
35272
- "r10": 1,
35273
- "r11": 1,
35274
- "r12": 2,
35275
- "r20": 1,
35276
- "r42": 1,
35277
- "r43": 1,
35278
- "r47": 1,
35279
- "r5": 2,
35280
- "r68": 1,
35281
- "r93": 1,
35282
- "r13": 1
35251
+ "scoreProcID": "sp10b",
35252
+ "logWeights": {
35253
+ "count": 0.5,
35254
+ "size": 0.01,
35255
+ "prohibited": 15,
35256
+ "visitTimeout": 10,
35257
+ "visitRejection": 10
35258
+ },
35259
+ "groupWeights": {
35260
+ "accessKeyDuplicate": 3,
35261
+ "activeEmbedding": 2,
35262
+ "allCaps": 1,
35263
+ "ariaReferenceBad": 4,
35264
+ "autocompleteBad": 2,
35265
+ "buttonNoText": 4,
35266
+ "childMissing": 3,
35267
+ "contrastAA": 3,
35268
+ "contrastAAA": 1,
35269
+ "duplicateID": 2,
35270
+ "eventKeyboard": 3,
35271
+ "fieldSetMissing": 2,
35272
+ "focusableOperable": 3,
35273
+ "focusIndication": 3,
35274
+ "h1Missing": 1,
35275
+ "headingEmpty": 2,
35276
+ "headingStructure": 2,
35277
+ "hoverSurprise": 1,
35278
+ "iframeNoText": 3,
35279
+ "imageInputNoText": 4,
35280
+ "imageMapAreaNoText": 3,
35281
+ "imageNoText": 4,
35282
+ "imageTextRedundant": 1,
35283
+ "inconsistentStyles": 1,
35284
+ "contrastRisk": 1,
35285
+ "labelClash": 2,
35286
+ "labelForBadID": 4,
35287
+ "languageChange": 2,
35288
+ "leadingClipsText": 3,
35289
+ "leadingFrozen": 3,
35290
+ "linkForcesNewWindow": 2,
35291
+ "linkNoText": 4,
35292
+ "linkPair": 1,
35293
+ "linkTextsSame": 2,
35294
+ "linkTitleRedundant": 1,
35295
+ "linkUnderlines": 2,
35296
+ "menuNavigation": 2,
35297
+ "metaBansZoom": 3,
35298
+ "nameValue": 3,
35299
+ "noLeading": 2,
35300
+ "objectNoText": 2,
35301
+ "pageLanguage": 3,
35302
+ "pageLanguageBad": 3,
35303
+ "pageTitle": 3,
35304
+ "parentMissing": 3,
35305
+ "pseudoHeadingRisk": 1,
35306
+ "pseudoLinkRisk": 2,
35307
+ "pseudoListRisk": 1,
35308
+ "roleBad": 3,
35309
+ "roleBadAttribute": 3,
35310
+ "roleMissingAttribute": 3,
35311
+ "selectFlatRisk": 1,
35312
+ "selectNoText": 3,
35313
+ "spontaneousMotion": 2,
35314
+ "svgImageNoText": 4,
35315
+ "tabFocusability": 3,
35316
+ "tabNavigation": 2,
35317
+ "targetSize": 2,
35318
+ "textBeyondLandmarks": 1,
35319
+ "visibleBulk": 1,
35320
+ "zIndexNotZero": 1
35321
+ },
35322
+ "soloWeight": 1,
35323
+ "countWeights": {
35324
+ "absolute": 2,
35325
+ "largest": 1,
35326
+ "smaller": 0.4
35327
+ },
35328
+ "preventionWeights": {
35329
+ "testaro": 50,
35330
+ "other": 100
35331
+ },
35332
+ "packageDetails": {
35333
+ "testaro": {
35334
+ "motion": 0,
35335
+ "bulk": 2,
35336
+ "embAc": 3,
35337
+ "focAll": 101,
35338
+ "focInd": 583,
35339
+ "focOp": 60,
35340
+ "hover": 74,
35341
+ "linkUl": 2,
35342
+ "role": 1,
35343
+ "styleDiff": 139
35283
35344
  },
35284
35345
  "axe": {
35285
- "input-image-alt": 4,
35286
- "html-has-lang": 3,
35287
- "valid-lang": 2,
35288
- "heading-order": 3,
35289
- "link-name": 2,
35290
- "aria-command-name": 2,
35291
- "dlitem": 1,
35346
+ "button-name": 3,
35347
+ "color-contrast": 2,
35292
35348
  "image-alt": 2,
35293
- "duplicate-id": 1,
35294
- "aria-required-parent": 1,
35295
- "svg-img-alt": 1,
35296
- "meta-viewport": 1,
35297
- "html-lang-valid": 2,
35298
- "aria-required-children": 1,
35299
- "avoid-inline-spacing": 1,
35300
- "area-alt": 2,
35301
- "aria-allowed-role": 1,
35302
- "aria-required-attr": 1,
35303
- "aria-valid-attr": 1,
35304
- "autocomplete-valid": 1,
35305
- "color-contrast": 1,
35306
- "empty-heading": 2,
35307
- "frame-title": 1,
35308
35349
  "image-redundant-alt": 1,
35309
- "landmark-complementary-is-top-level": 2,
35310
- "landmark-no-duplicate-banner": 1,
35311
- "landmark-no-duplicate-main": 2,
35312
- "document-title": 1,
35313
- "object-alt": 1,
35350
+ "label-title-only": 1,
35351
+ "landmark-unique": 1,
35352
+ "link-name": 4,
35314
35353
  "page-has-heading-one": 1,
35315
- "select-name": 1
35354
+ "select-name": 3
35355
+ },
35356
+ "aatt": {
35357
+ "w:C31+C32+C33+C38+G206+SCR34": 2,
35358
+ "e:H91": 46,
35359
+ "w:ARIA6": 2,
35360
+ "w:F24": 7,
35361
+ "w:G141": 3,
35362
+ "w:G18": 259,
35363
+ "w:H48": 41,
35364
+ "w:H91": 29,
35365
+ "e:F68": 10,
35366
+ "w:H85": 5,
35367
+ "e:G1+G123+G124": 4,
35368
+ "e:H30": 1,
35369
+ "e:H32": 2,
35370
+ "w:H42": 1,
35371
+ "w:H44": 1,
35372
+ "e:H37": 1,
35373
+ "e:H64": 1
35316
35374
  },
35317
- "ibm": {
35318
- "v:WCAG20_Object_HasText": 1,
35319
- "v:WCAG20_Area_HasAlt": 2,
35320
- "v:WCAG20_Input_ExplicitLabelImage": 4,
35321
- "v:WCAG20_Frame_HasTitle": 2,
35322
- "v:WCAG20_Elem_Lang_Valid": 2,
35323
- "v:HAAC_Img_UsemapAlt": 1,
35324
- "v:aria_semantics_role": 1,
35325
- "v:Rpt_Aria_RequiredProperties": 1,
35326
- "v:Rpt_Aria_ValidProperty": 1,
35327
- "v:WCAG21_Input_Autocomplete": 1,
35328
- "v:IBMA_Color_Contrast_WCAG2AA": 2,
35329
- "v:RPT_Header_HasContent": 2,
35330
- "v:WCAG20_Img_HasAlt": 2,
35331
- "v:WCAG20_Img_LinkTextNotRedundant": 1,
35332
- "v:Rpt_Aria_ComplementaryRequiredLabel_Implicit": 1,
35333
- "v:Rpt_Aria_MultipleComplementaryLandmarks_Implicit": 1,
35334
- "v:Rpt_Aria_MultipleBannerLandmarks_Implicit": 1,
35335
- "r:Rpt_Aria_MultipleMainsVisibleLabel_Implicit": 1,
35336
- "v:Rpt_Aria_MultipleMainsRequireLabel_Implicit_2": 1,
35337
- "v:WCAG20_A_HasText": 1,
35338
- "v:Rpt_Aria_ValidIdRef": 1,
35339
- "v:WCAG20_Elem_UniqueAccessKey": 1,
35340
- "v:WCAG20_Input_RadioChkInFieldSet": 1
35375
+ "alfa": {
35376
+ "r11": 4,
35377
+ "r12": 3,
35378
+ "r2": 2,
35379
+ "r57": 15,
35380
+ "r61": 1,
35381
+ "r62": 2,
35382
+ "r65": 91,
35383
+ "r66": 27,
35384
+ "r69": 21,
35385
+ "r72": 3,
35386
+ "r73": 12,
35387
+ "r75": 1,
35388
+ "r8": 3,
35389
+ "r83": 1,
35390
+ "r87": 1
35341
35391
  },
35342
35392
  "wave": {
35343
- "a:link_internal_broken": 1,
35344
- "e:alt_area_missing": 3,
35345
- "e:alt_input_missing": 4,
35346
- "e:alt_missing": 2,
35347
- "e:language_missing": 3,
35348
- "a:heading_skipped": 3,
35349
- "a:event_handler": 1,
35393
+ "e:alt_missing": 1,
35394
+ "e:alt_link_missing": 1,
35395
+ "e:label_missing": 6,
35396
+ "e:button_empty": 3,
35397
+ "e:link_empty": 30,
35398
+ "c:contrast": 33,
35399
+ "a:select_missing_label": 5,
35400
+ "a:alt_suspicious": 2,
35350
35401
  "a:label_orphaned": 1,
35351
- "e:title_invalid": 1,
35352
- "e:heading_empty": 2,
35353
- "a:plugin": 1,
35354
35402
  "a:h1_missing": 1,
35355
- "a:select_missing_label": 1,
35356
- "c:contrast": 1,
35357
- "e:aria_reference_broken": 1,
35358
- "a:accesskey": 1,
35359
- "a:fieldset_missing": 1
35403
+ "a:heading_skipped": 1,
35404
+ "a:link_internal_broken": 4,
35405
+ "a:link_suspicious": 1,
35406
+ "a:link_redundant": 9,
35407
+ "a:noscript": 4,
35408
+ "a:text_small": 1,
35409
+ "a:title_redundant": 1
35410
+ },
35411
+ "tenon": {
35412
+ "57": 32,
35413
+ "79": 19,
35414
+ "95": 32,
35415
+ "98": 47,
35416
+ "129": 21,
35417
+ "134": 2,
35418
+ "144": 12,
35419
+ "152": 45,
35420
+ "153": 27,
35421
+ "155": 1,
35422
+ "190": 1,
35423
+ "218": 79,
35424
+ "242": 4
35360
35425
  }
35361
35426
  },
35362
- "rules": {
35363
- "aatt": "multiply warning by 2*, error by 4* (*discounted); sum",
35364
- "alfa": "multiply cantTell by 2*, failed by 4* (*discounted); sum",
35365
- "axe": "multiply minor by 2*, moderate by 3*, serious by 4*, critical by 5* (*discounted); sum",
35366
- "bulk": "subtract 250 from visible elements; make 0 if negative; raise to 0.9th power; multiply by 0.15",
35367
- "embAc": "multiply link- or button-contained links, buttons, inputs, and selects by 3 (discounted)",
35368
- "focAll": "multiply discrepancy between focusable and focused element counts by 3",
35369
- "focInd": "multiply indicatorless-when-focused elements by 5",
35370
- "focOp": "multiply nonfocusable operable elements by 4, nonoperable focusable by 1; sum",
35371
- "hover": "multiply elements changing page on hover by 4, made visible by 2, with directly changed opacity by 0.1, with indirectly changed opacity by 0.2, unhoverable by 2; sum",
35372
- "ibm": "multiply violations by 4*, recommendations by 2* (*discounted); sum",
35373
- "labClash": "multiply conflictually labeled elements by 2, unlabeled elements by 2; sum",
35374
- "linkUl": "multiply nonunderlined inline links by 3",
35375
- "log": "multiply log items by respective logWeights; sum",
35376
- "menuNav": "multiply Home and End errors by 1 and other key-navigation errors by 3; sum",
35377
- "motion": "get PNG screenshot sizes (sss); get differing-pixel counts between adjacent PNG screenshots (pd); “sssd” = sss difference ÷ smaller sss - 1; multiply mean adjacent sssd by 5, maximum adjacent sssd by 2, maximum over-all ssd by 1; divide mean pd by 10,000, maximum pd by 25,000; multiply count of non-0 pd by 30; sum",
35378
- "radioSet": "multiply radio buttons not in fieldsets with legends and no other-name radio buttons by 2",
35379
- "role": "multiple role attributes with invalid or native-HTML-equivalent values by 2",
35380
- "styleDiff": "for each of element classes block a, inline a, button, h1, h2, h3, h4, h5, and h6, get diffStyles-distinct styles; multiply their count minus 1 by 2; multiply count of elements with non-plurality styles by 0.2; sum",
35381
- "tabNav": "multiply Home and End errors by 1 and other key-navigation errors by 3; sum",
35382
- "tenon": "multiply warnings by 1, errors by 3; sum",
35383
- "wave": "multiply alerts by 2*, contrast errors by 3*, errors by 4* (*discounted); sum",
35384
- "zIndex": "multiply non-auto z indexes by 3"
35427
+ "groupDetails": {
35428
+ "groups": {
35429
+ "imageNoText": {
35430
+ "aatt": {
35431
+ "e:H37": {
35432
+ "what": "Img element missing an alt attribute",
35433
+ "issueCount": 1
35434
+ }
35435
+ },
35436
+ "alfa": {
35437
+ "r2": {
35438
+ "what": "Image has no accessible name",
35439
+ "issueCount": 2
35440
+ }
35441
+ },
35442
+ "axe": {
35443
+ "image-alt": {
35444
+ "what": "Images must have alternate text",
35445
+ "issueCount": 2
35446
+ }
35447
+ },
35448
+ "ibm": {
35449
+ "v:WCAG20_Img_HasAlt": {
35450
+ "what": "Images must have an alt attribute if they convey meaning, or alt=\"\" if decorative",
35451
+ "issueCount": 0
35452
+ }
35453
+ },
35454
+ "wave": {
35455
+ "e:alt_missing": {
35456
+ "what": "Missing alternative text",
35457
+ "issueCount": 1
35458
+ }
35459
+ }
35460
+ },
35461
+ "headingStructure": {
35462
+ "aatt": {
35463
+ "w:G141": {
35464
+ "what": "Heading structure is not logically nested",
35465
+ "issueCount": 3
35466
+ }
35467
+ },
35468
+ "alfa": {
35469
+ "r53": {
35470
+ "what": "Heading skips one or more levels",
35471
+ "issueCount": 0
35472
+ }
35473
+ },
35474
+ "axe": {
35475
+ "heading-order": {
35476
+ "what": "Heading levels should only increase by one",
35477
+ "issueCount": 0
35478
+ }
35479
+ },
35480
+ "wave": {
35481
+ "a:heading_skipped": {
35482
+ "what": "Skipped heading level",
35483
+ "issueCount": 1
35484
+ }
35485
+ },
35486
+ "tenon": {
35487
+ "155": {
35488
+ "what": "These headings are not structured in a hierarchical manner",
35489
+ "issueCount": 1
35490
+ }
35491
+ }
35492
+ },
35493
+ "labelForBadID": {
35494
+ "aatt": {
35495
+ "w:H44": {
35496
+ "what": "Label for attribute is bad ID",
35497
+ "issueCount": 1
35498
+ }
35499
+ },
35500
+ "wave": {
35501
+ "a:label_orphaned": {
35502
+ "what": "Orphaned form label",
35503
+ "issueCount": 1
35504
+ }
35505
+ }
35506
+ },
35507
+ "contrastRisk": {
35508
+ "aatt": {
35509
+ "w:F24": {
35510
+ "what": "Inline background color needs complementary foreground color",
35511
+ "issueCount": 7
35512
+ },
35513
+ "w:G18": {
35514
+ "what": "Contrast adequacy not determinable",
35515
+ "issueCount": 259
35516
+ }
35517
+ }
35518
+ },
35519
+ "pseudoHeadingRisk": {
35520
+ "aatt": {
35521
+ "w:H42": {
35522
+ "what": "Heading coding should be used if intended as a heading",
35523
+ "issueCount": 1
35524
+ }
35525
+ }
35526
+ },
35527
+ "pseudoListRisk": {
35528
+ "aatt": {
35529
+ "w:H48": {
35530
+ "what": "Navigation links should be coded as list",
35531
+ "issueCount": 41
35532
+ }
35533
+ }
35534
+ },
35535
+ "selectNoText": {
35536
+ "aatt": {
35537
+ "w:H91": {
35538
+ "what": "Select element has no value available to an accessibility API",
35539
+ "issueCount": 29
35540
+ }
35541
+ },
35542
+ "axe": {
35543
+ "select-name": {
35544
+ "what": "Select element must have an accessible name",
35545
+ "issueCount": 3
35546
+ }
35547
+ },
35548
+ "wave": {
35549
+ "a:select_missing_label": {
35550
+ "what": "Select missing label",
35551
+ "issueCount": 5
35552
+ }
35553
+ }
35554
+ },
35555
+ "selectFlatRisk": {
35556
+ "aatt": {
35557
+ "w:H85": {
35558
+ "what": "If selection list contains groups of related options, they should be grouped with optgroup",
35559
+ "issueCount": 5
35560
+ }
35561
+ }
35562
+ },
35563
+ "nameValue": {
35564
+ "aatt": {
35565
+ "e:F68": {
35566
+ "what": "Form control wrongly labeled or unlabeled",
35567
+ "issueCount": 10
35568
+ },
35569
+ "e:H91": {
35570
+ "what": "Missing name or value of form control or link",
35571
+ "issueCount": 46
35572
+ }
35573
+ },
35574
+ "wave": {
35575
+ "e:label_missing": {
35576
+ "what": "Missing form label",
35577
+ "issueCount": 6
35578
+ }
35579
+ }
35580
+ },
35581
+ "linkNoText": {
35582
+ "alfa": {
35583
+ "r11": {
35584
+ "what": "Link has no accessible name",
35585
+ "issueCount": 4
35586
+ }
35587
+ },
35588
+ "axe": {
35589
+ "link-name": {
35590
+ "what": "Links must have discernible text",
35591
+ "issueCount": 4
35592
+ }
35593
+ },
35594
+ "ibm": {
35595
+ "v:WCAG20_A_HasText": {
35596
+ "what": "Hyperlinks must have a text description",
35597
+ "issueCount": 0
35598
+ }
35599
+ },
35600
+ "wave": {
35601
+ "e:link_empty": {
35602
+ "what": "Link contains no text",
35603
+ "issueCount": 30
35604
+ }
35605
+ },
35606
+ "tenon": {
35607
+ "57": {
35608
+ "what": "Link has no text inside it",
35609
+ "issueCount": 32
35610
+ }
35611
+ }
35612
+ },
35613
+ "buttonNoText": {
35614
+ "alfa": {
35615
+ "r12": {
35616
+ "what": "Button has no accessible name",
35617
+ "issueCount": 3
35618
+ }
35619
+ },
35620
+ "axe": {
35621
+ "aria-command-name": {
35622
+ "what": "ARIA commands must have an accessible name",
35623
+ "issueCount": 0
35624
+ }
35625
+ },
35626
+ "wave": {
35627
+ "e:button_empty": {
35628
+ "what": "Button is empty or has no value text",
35629
+ "issueCount": 3
35630
+ }
35631
+ }
35632
+ },
35633
+ "noLeading": {
35634
+ "alfa": {
35635
+ "r73": {
35636
+ "what": "Paragraphs of text have insufficient line height",
35637
+ "issueCount": 12
35638
+ }
35639
+ }
35640
+ },
35641
+ "contrastAA": {
35642
+ "alfa": {
35643
+ "r69": {
35644
+ "what": "Text outside widget has subminimum contrast",
35645
+ "issueCount": 21
35646
+ }
35647
+ },
35648
+ "axe": {
35649
+ "color-contrast": {
35650
+ "what": "Elements must have sufficient color contrast",
35651
+ "issueCount": 2
35652
+ }
35653
+ },
35654
+ "ibm": {
35655
+ "v:IBMA_Color_Contrast_WCAG2AA": {
35656
+ "what": "Contrast ratio of text with background must meet WCAG 2.1 AA",
35657
+ "issueCount": 0
35658
+ }
35659
+ },
35660
+ "wave": {
35661
+ "c:contrast": {
35662
+ "what": "Very low contrast",
35663
+ "issueCount": 33
35664
+ }
35665
+ }
35666
+ },
35667
+ "contrastAAA": {
35668
+ "alfa": {
35669
+ "r66": {
35670
+ "what": "Text contrast less than AAA requires",
35671
+ "issueCount": 27
35672
+ }
35673
+ },
35674
+ "tenon": {
35675
+ "95": {
35676
+ "what": "Element has insufficient color contrast (Level AAA)",
35677
+ "issueCount": 32
35678
+ }
35679
+ }
35680
+ },
35681
+ "focusIndication": {
35682
+ "alfa": {
35683
+ "r65": {
35684
+ "what": "Element in sequential focus order has no visible focus",
35685
+ "issueCount": 91
35686
+ }
35687
+ },
35688
+ "testaro": {
35689
+ "focInd": {
35690
+ "what": "Operable elements that cannot be Tab-focused and vice versa",
35691
+ "issueCount": 583
35692
+ }
35693
+ }
35694
+ },
35695
+ "textBeyondLandmarks": {
35696
+ "alfa": {
35697
+ "r57": {
35698
+ "what": "Perceivable text content not included in any landmark",
35699
+ "issueCount": 15
35700
+ }
35701
+ }
35702
+ },
35703
+ "roleBad": {
35704
+ "axe": {
35705
+ "aria-allowed-role": {
35706
+ "what": "ARIA role should be appropriate for the element",
35707
+ "issueCount": 0
35708
+ }
35709
+ },
35710
+ "ibm": {
35711
+ "v:aria_semantics_role": {
35712
+ "what": "ARIA roles must be valid for the element to which they are assigned",
35713
+ "issueCount": 0
35714
+ }
35715
+ },
35716
+ "testaro": {
35717
+ "role": {
35718
+ "what": "Nonexistent or implicit-overriding role",
35719
+ "issueCount": 1
35720
+ }
35721
+ }
35722
+ },
35723
+ "imageTextRedundant": {
35724
+ "axe": {
35725
+ "image-redundant-alt": {
35726
+ "what": "Text of buttons and links should not be repeated in the image alternative",
35727
+ "issueCount": 1
35728
+ }
35729
+ },
35730
+ "ibm": {
35731
+ "v:WCAG20_Img_LinkTextNotRedundant": {
35732
+ "what": "Text alternative for image within link should not repeat link text or adjacent link text",
35733
+ "issueCount": 0
35734
+ }
35735
+ }
35736
+ },
35737
+ "h1Missing": {
35738
+ "axe": {
35739
+ "page-has-heading-one": {
35740
+ "what": "Page should contain a level-one heading",
35741
+ "issueCount": 1
35742
+ }
35743
+ },
35744
+ "wave": {
35745
+ "a:h1_missing": {
35746
+ "what": "Missing first level heading",
35747
+ "issueCount": 1
35748
+ }
35749
+ }
35750
+ },
35751
+ "linkPair": {
35752
+ "wave": {
35753
+ "a:link_redundant": {
35754
+ "what": "Adjacent links go to same URL",
35755
+ "issueCount": 9
35756
+ }
35757
+ }
35758
+ },
35759
+ "linkTitleRedundant": {
35760
+ "tenon": {
35761
+ "79": {
35762
+ "what": "Link has a title attribute that is the same as the text inside the link",
35763
+ "issueCount": 19
35764
+ }
35765
+ }
35766
+ },
35767
+ "linkTextsSame": {
35768
+ "tenon": {
35769
+ "98": {
35770
+ "what": "These links have the same text but different destinations",
35771
+ "issueCount": 47
35772
+ }
35773
+ }
35774
+ },
35775
+ "pseudoLinkRisk": {
35776
+ "tenon": {
35777
+ "129": {
35778
+ "what": "CSS underline on text that is not a link",
35779
+ "issueCount": 21
35780
+ }
35781
+ }
35782
+ },
35783
+ "leadingClipsText": {
35784
+ "tenon": {
35785
+ "144": {
35786
+ "what": "Line height insufficent to properly display computed font size",
35787
+ "issueCount": 12
35788
+ }
35789
+ }
35790
+ },
35791
+ "targetSize": {
35792
+ "tenon": {
35793
+ "152": {
35794
+ "what": "Actionable element is smaller than the minimum required size",
35795
+ "issueCount": 45
35796
+ }
35797
+ }
35798
+ },
35799
+ "allCaps": {
35800
+ "tenon": {
35801
+ "153": {
35802
+ "what": "Long string of text is in all caps",
35803
+ "issueCount": 27
35804
+ }
35805
+ }
35806
+ },
35807
+ "linkForcesNewWindow": {
35808
+ "tenon": {
35809
+ "218": {
35810
+ "what": "Link opens in a new window without user control",
35811
+ "issueCount": 79
35812
+ }
35813
+ }
35814
+ },
35815
+ "visibleBulk": {
35816
+ "testaro": {
35817
+ "bulk": {
35818
+ "what": "Count of visible elements as a multiple of 300",
35819
+ "issueCount": 2
35820
+ }
35821
+ }
35822
+ },
35823
+ "activeEmbedding": {
35824
+ "testaro": {
35825
+ "embAc": {
35826
+ "what": "Active elements embedded in links or buttons",
35827
+ "issueCount": 3
35828
+ }
35829
+ }
35830
+ },
35831
+ "tabFocusability": {
35832
+ "testaro": {
35833
+ "focAll": {
35834
+ "what": "Discrepancy between elements that should be and that are Tab-focusable",
35835
+ "issueCount": 101
35836
+ }
35837
+ }
35838
+ },
35839
+ "focusableOperable": {
35840
+ "testaro": {
35841
+ "focOp": {
35842
+ "what": "Operable elements that cannot be Tab-focused and vice versa",
35843
+ "issueCount": 60
35844
+ }
35845
+ }
35846
+ },
35847
+ "hoverSurprise": {
35848
+ "testaro": {
35849
+ "hover": {
35850
+ "what": "Content changes caused by hovering",
35851
+ "issueCount": 74
35852
+ }
35853
+ }
35854
+ },
35855
+ "linkUnderlines": {
35856
+ "testaro": {
35857
+ "linkUl": {
35858
+ "what": "Non-underlined inline links",
35859
+ "issueCount": 2
35860
+ }
35861
+ }
35862
+ },
35863
+ "inconsistentStyles": {
35864
+ "testaro": {
35865
+ "styleDiff": {
35866
+ "what": "Heading, link, and button style inconsistencies",
35867
+ "issueCount": 139
35868
+ }
35869
+ }
35870
+ }
35871
+ },
35872
+ "solos": {
35873
+ "axe": {
35874
+ "button-name": 3,
35875
+ "label-title-only": 1,
35876
+ "landmark-unique": 1
35877
+ },
35878
+ "aatt": {
35879
+ "w:C31+C32+C33+C38+G206+SCR34": 2,
35880
+ "w:ARIA6": 2,
35881
+ "e:G1+G123+G124": 4,
35882
+ "e:H30": 1,
35883
+ "e:H32": 2,
35884
+ "e:H64": 1
35885
+ },
35886
+ "alfa": {
35887
+ "r61": 1,
35888
+ "r62": 2,
35889
+ "r72": 3,
35890
+ "r75": 1,
35891
+ "r8": 3,
35892
+ "r83": 1,
35893
+ "r87": 1
35894
+ },
35895
+ "wave": {
35896
+ "e:alt_link_missing": 1,
35897
+ "a:alt_suspicious": 2,
35898
+ "a:link_internal_broken": 4,
35899
+ "a:link_suspicious": 1,
35900
+ "a:noscript": 4,
35901
+ "a:text_small": 1,
35902
+ "a:title_redundant": 1
35903
+ },
35904
+ "tenon": {
35905
+ "134": 2,
35906
+ "190": 1,
35907
+ "242": 4
35908
+ }
35909
+ }
35385
35910
  },
35386
- "diffStyles": [
35387
- "borderStyle",
35388
- "borderWidth",
35389
- "fontStyle",
35390
- "fontWeight",
35391
- "lineHeight",
35392
- "maxHeight",
35393
- "maxWidth",
35394
- "minHeight",
35395
- "minWidth",
35396
- "opacity",
35397
- "outlineOffset",
35398
- "outlineStyle",
35399
- "outlineWidth",
35400
- "textDecorationLine",
35401
- "textDecorationStyle",
35402
- "textDecorationThickness"
35403
- ],
35404
- "logWeights": {
35405
- "count": 0.5,
35406
- "size": 0.01,
35407
- "prohibited": 15,
35408
- "visitTimeout": 10,
35409
- "visitRejection": 10
35911
+ "preventionScores": {
35912
+ "ibm": 100
35410
35913
  },
35411
- "inferences": {},
35412
- "scores": {
35413
- "total": 6861,
35414
- "aatt": 944,
35415
- "alfa": 463,
35416
- "axe": 45,
35417
- "bulk": 30,
35418
- "embAc": 9,
35419
- "focAll": 303,
35420
- "focInd": 2915,
35421
- "focOp": 240,
35422
- "hover": 148,
35423
- "ibm": 109,
35424
- "labClash": 36,
35425
- "linkUl": 6,
35914
+ "summary": {
35915
+ "total": 4367,
35426
35916
  "log": 3,
35427
- "menuNav": 0,
35428
- "motion": 0,
35429
- "radioSet": 0,
35430
- "role": 2,
35431
- "styleDiff": 139,
35432
- "tabNav": 0,
35433
- "tenon": 910,
35434
- "wave": 259,
35435
- "zIndex": 300
35917
+ "preventions": 100,
35918
+ "solos": 50,
35919
+ "groups": {
35920
+ "imageNoText": 22,
35921
+ "headingStructure": 12,
35922
+ "labelForBadID": 14,
35923
+ "contrastRisk": 268,
35924
+ "pseudoHeadingRisk": 3,
35925
+ "pseudoListRisk": 43,
35926
+ "selectNoText": 103,
35927
+ "selectFlatRisk": 7,
35928
+ "nameValue": 181,
35929
+ "linkNoText": 197,
35930
+ "buttonNoText": 25,
35931
+ "noLeading": 28,
35932
+ "contrastAA": 133,
35933
+ "contrastAAA": 45,
35934
+ "focusIndication": 1864,
35935
+ "textBeyondLandmarks": 17,
35936
+ "roleBad": 9,
35937
+ "imageTextRedundant": 3,
35938
+ "h1Missing": 3,
35939
+ "linkPair": 11,
35940
+ "linkTitleRedundant": 21,
35941
+ "linkTextsSame": 98,
35942
+ "pseudoLinkRisk": 46,
35943
+ "leadingClipsText": 42,
35944
+ "targetSize": 94,
35945
+ "allCaps": 29,
35946
+ "linkForcesNewWindow": 162,
35947
+ "visibleBulk": 4,
35948
+ "activeEmbedding": 10,
35949
+ "tabFocusability": 309,
35950
+ "focusableOperable": 186,
35951
+ "hoverSurprise": 76,
35952
+ "linkUnderlines": 8,
35953
+ "inconsistentStyles": 141
35954
+ }
35436
35955
  }
35437
35956
  }
35438
35957
  }