testilo 17.0.7 → 17.0.10

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 (2) hide show
  1. package/package.json +1 -1
  2. package/procs/score/tic36.js +240 -19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "testilo",
3
- "version": "17.0.7",
3
+ "version": "17.0.10",
4
4
  "description": "Prepares and processes Testaro reports",
5
5
  "main": "aim.js",
6
6
  "scripts": {
@@ -357,26 +357,33 @@ exports.issues = {
357
357
  r28: {
358
358
  variable: false,
359
359
  quality: 1,
360
- what: 'image input element has no accessible name'
360
+ what: 'Element is an image input but has no accessible name'
361
+ }
362
+ },
363
+ aslint: {
364
+ 'input-image-missing-alt': {
365
+ variable: false,
366
+ quality: 1,
367
+ what: 'Element is an image input but its text alternative is missing or empty'
361
368
  }
362
369
  },
363
370
  htmlcs: {
364
371
  'AAA.4_1_2.H91.InputImage.Name': {
365
372
  variable: false,
366
373
  quality: 1,
367
- what: 'image input has no accessible name'
374
+ what: 'Element is an image input but has no accessible name'
368
375
  }
369
376
  },
370
377
  ibm: {
371
378
  WCAG20_Input_ExplicitLabelImage: {
372
379
  variable: false,
373
380
  quality: 1,
374
- what: 'input element of type image has no text alternative'
381
+ what: 'Element is an input of type image but has no text alternative'
375
382
  },
376
383
  imagebutton_alt_exists: {
377
384
  variable: false,
378
385
  quality: 1,
379
- what: 'input element of type image has no text alternative'
386
+ what: 'Element is an input of type image but has no text alternative'
380
387
  }
381
388
  }
382
389
  }
@@ -528,6 +535,20 @@ exports.issues = {
528
535
  }
529
536
  }
530
537
  },
538
+ imageTextRisk: {
539
+ why: 'Helper may describe an image inadequately',
540
+ wcag: '1.1.1',
541
+ weight: 1,
542
+ tools: {
543
+ aslint: {
544
+ 'general-alt': {
545
+ variable: false,
546
+ quality: 1,
547
+ what: 'Image may be better described by a revised text alternative and an aria-label attribute'
548
+ }
549
+ }
550
+ }
551
+ },
531
552
  imageNoSource: {
532
553
  why: 'Image to be shown cannot be found',
533
554
  wcag: '1.3.1',
@@ -997,11 +1018,51 @@ exports.issues = {
997
1018
  }
998
1019
  }
999
1020
  },
1021
+ objectTextRisk: {
1022
+ why: 'Helper may explain a custom item inadequately',
1023
+ wcag: '1.1.1',
1024
+ weight: 1,
1025
+ tools: {
1026
+ aslint: {
1027
+ 'object-general-alt': {
1028
+ variable: false,
1029
+ quality: 1,
1030
+ what: 'Text of the object may better explain it if revised'
1031
+ }
1032
+ }
1033
+ }
1034
+ },
1035
+ objectAudioRisk: {
1036
+ why: 'User may get inadequate help consuming audio content',
1037
+ wcag: '1.1.1',
1038
+ weight: 1,
1039
+ tools: {
1040
+ aslint: {
1041
+ 'audio-alternative': {
1042
+ variable: false,
1043
+ quality: 1,
1044
+ what: 'Element is inferior to an audio element if it plays audio'
1045
+ }
1046
+ }
1047
+ }
1048
+ },
1000
1049
  appletNoText: {
1001
1050
  why: 'User cannot get help on how to use a custom item',
1002
1051
  wcag: '1.1.1',
1003
1052
  weight: 4,
1004
1053
  tools: {
1054
+ aslint: {
1055
+ 'applet-missing-alt': {
1056
+ variable: false,
1057
+ quality: 1,
1058
+ what: 'Text alternative of the applet is missing or empty'
1059
+ },
1060
+ 'applet-missing-body': {
1061
+ variable: false,
1062
+ quality: 1,
1063
+ what: 'Content of the applet is missing or empty'
1064
+ }
1065
+ },
1005
1066
  qualWeb: {
1006
1067
  'QW-WCAG-T11': {
1007
1068
  variable: false,
@@ -1249,6 +1310,13 @@ exports.issues = {
1249
1310
  wcag: '1.3.1',
1250
1311
  weight: 4,
1251
1312
  tools: {
1313
+ aslint: {
1314
+ 'aria-describedby-association': {
1315
+ variable: false,
1316
+ quality: 1,
1317
+ what: 'aria-describedby attribute references a missing or empty element'
1318
+ }
1319
+ },
1252
1320
  nuVal: {
1253
1321
  'The aria-describedby attribute must point to an element in the same document.': {
1254
1322
  variable: false,
@@ -1405,6 +1473,13 @@ exports.issues = {
1405
1473
  what: 'Link has no accessible name'
1406
1474
  }
1407
1475
  },
1476
+ aslint: {
1477
+ 'img-empty-alt-in-link': {
1478
+ variable: false,
1479
+ quality: 1,
1480
+ what: 'Element is an image in a link but has no text alternative'
1481
+ }
1482
+ },
1408
1483
  axe: {
1409
1484
  'link-name': {
1410
1485
  variable: false,
@@ -1993,7 +2068,7 @@ exports.issues = {
1993
2068
  }
1994
2069
  },
1995
2070
  aslint: {
1996
- 'accessible-svgN': {
2071
+ 'accessible-svg': {
1997
2072
  variable: false,
1998
2073
  quality: 1,
1999
2074
  what: 'Element has no title, description, text, attribute label, or role description'
@@ -3532,11 +3607,18 @@ exports.issues = {
3532
3607
  wcag: '1.3.1',
3533
3608
  weight: 1,
3534
3609
  tools: {
3610
+ aslint: {
3611
+ 'img-empty-alt-with-empty-title': {
3612
+ variable: false,
3613
+ quality: 1,
3614
+ what: 'Element has an empty alt attribute but a nonempty title attribute'
3615
+ }
3616
+ },
3535
3617
  htmlcs: {
3536
3618
  'AAA.1_1_1.H67.1': {
3537
3619
  variable: false,
3538
3620
  quality: 1,
3539
- what: 'img element has an empty alt attribute but has a nonempty title attribute'
3621
+ what: 'Element has an empty alt attribute but has a nonempty title attribute'
3540
3622
  }
3541
3623
  },
3542
3624
  ibm: {
@@ -3759,6 +3841,13 @@ exports.issues = {
3759
3841
  wcag: '1.3.1',
3760
3842
  weight: 2,
3761
3843
  tools: {
3844
+ aslint: {
3845
+ 'headings-hierarchy': {
3846
+ variable: false,
3847
+ quality: 1,
3848
+ what: 'Heading level is illogical in its context'
3849
+ }
3850
+ },
3762
3851
  htmlcs: {
3763
3852
  'AAA.1_3_1_AAA.G141': {
3764
3853
  variable: false,
@@ -4527,6 +4616,18 @@ exports.issues = {
4527
4616
  wcag: '1.3.1',
4528
4617
  weight: 1,
4529
4618
  tools: {
4619
+ aslint: {
4620
+ 'table-missing-descriptionC': {
4621
+ variable: false,
4622
+ quality: 1,
4623
+ what: 'Element contains no caption element'
4624
+ },
4625
+ 'table-missing-descriptionE': {
4626
+ variable: false,
4627
+ quality: 1,
4628
+ what: 'Element contains a caption element, but it is empty'
4629
+ }
4630
+ },
4530
4631
  axe: {
4531
4632
  'table-fake-caption': {
4532
4633
  variable: false,
@@ -4538,7 +4639,7 @@ exports.issues = {
4538
4639
  'AAA.1_3_1.H39.3.NoCaption': {
4539
4640
  variable: false,
4540
4641
  quality: 1,
4541
- what: 'Table has no caption element'
4642
+ what: 'Element contains no caption element'
4542
4643
  }
4543
4644
  },
4544
4645
  qualWeb: {
@@ -4564,6 +4665,72 @@ exports.issues = {
4564
4665
  }
4565
4666
  }
4566
4667
  },
4668
+ tableCapSum: {
4669
+ why: 'Helper informs a user repetitively about the topic of a table',
4670
+ wcag: '1.3.1',
4671
+ weight: 2,
4672
+ tools: {
4673
+ aslint: {
4674
+ 'table-caption-summary-identical': {
4675
+ variable: false,
4676
+ quality: 1,
4677
+ what: 'Element has a summary attribute identical to its caption element'
4678
+ }
4679
+ }
4680
+ }
4681
+ },
4682
+ tableSum: {
4683
+ why: 'User cannot get help summarizing a table',
4684
+ wcag: '1.3.1',
4685
+ weight: 4,
4686
+ tools: {
4687
+ aslint: {
4688
+ 'table-missing-descriptionS': {
4689
+ variable: false,
4690
+ quality: 1,
4691
+ what: 'Element has a summary attribute, but it is empty'
4692
+ }
4693
+ }
4694
+ }
4695
+ },
4696
+ tablelabelID: {
4697
+ why: 'User cannot get help on the topic of a table',
4698
+ wcag: '1.3.1',
4699
+ weight: 4,
4700
+ tools: {
4701
+ aslint: {
4702
+ 'table-missing-descriptionLM': {
4703
+ variable: false,
4704
+ quality: 1,
4705
+ what: 'Element has a broken aria-labelledby ID'
4706
+ },
4707
+ 'table-missing-descriptionLE': {
4708
+ variable: false,
4709
+ quality: 1,
4710
+ what: 'Element has an aria-labelledby attribute, but it is empty'
4711
+ }
4712
+ }
4713
+ }
4714
+ },
4715
+ tableDescriptionID: {
4716
+ why: 'User cannot get help on the topic of a table',
4717
+ wcag: '1.3.1',
4718
+ weight: 4,
4719
+ tools: {
4720
+ aslint: {
4721
+ 'table-missing-descriptionDM': {
4722
+ variable: false,
4723
+ quality: 1,
4724
+ what: 'Element has a broken aria-describedby ID'
4725
+ },
4726
+ 'table-missing-descriptionDE': {
4727
+ variable: false,
4728
+ quality: 1,
4729
+ what: 'Element has an aria-describedby attribute, but it is empty'
4730
+ }
4731
+ }
4732
+ }
4733
+ },
4567
4734
  cellHeadersNotInferrable: {
4568
4735
  why: 'User cannot get help on relationships in a table',
4569
4736
  wcag: '1.3.1',
@@ -6353,48 +6520,83 @@ exports.issues = {
6353
6520
  }
6354
6521
  }
6355
6522
  },
6356
- audioContentNoText: {
6523
+ avNoText: {
6357
6524
  why: 'User cannot get help reading speech as text',
6358
6525
  wcag: '1.2.1',
6359
6526
  weight: 4,
6360
6527
  tools: {
6528
+ aslint: {
6529
+ 'audio-video-captions': {
6530
+ variable: false,
6531
+ quality: 1,
6532
+ what: 'Element is audio or video but contains no caption track element'
6533
+ }
6534
+ }
6535
+ }
6536
+ },
6537
+ audioNoText: {
6538
+ why: 'User cannot get help reading speech as text',
6539
+ wcag: '1.2.1',
6540
+ weight: 4,
6541
+ tools: {
6542
+ aslint: {
6543
+ 'audio-alternativeT': {
6544
+ variable: false,
6545
+ quality: 1,
6546
+ what: 'Element contains no track element'
6547
+ }
6548
+ },
6361
6549
  axe: {
6362
6550
  'audio-caption': {
6363
6551
  variable: false,
6364
6552
  quality: 1,
6365
- what: 'audio element has no captions track'
6553
+ what: 'Element has no captions track'
6366
6554
  }
6367
6555
  },
6368
6556
  qualWeb: {
6369
6557
  'QW-ACT-R26': {
6370
6558
  variable: false,
6371
6559
  quality: 1,
6372
- what: 'video element auditory content has no accessible alternative'
6560
+ what: 'Auditory content of the element has no accessible alternative'
6373
6561
  },
6374
6562
  'QW-ACT-R29': {
6375
6563
  variable: false,
6376
6564
  quality: 1,
6377
- what: 'audio element content has no text alternative'
6565
+ what: 'Content of the element has no text alternative'
6378
6566
  },
6379
6567
  'QW-ACT-R58': {
6380
6568
  variable: false,
6381
6569
  quality: 1,
6382
- what: 'audio element content has no transcript'
6570
+ what: 'Content of the element has no transcript'
6383
6571
  },
6384
6572
  'QW-ACT-R59': {
6385
6573
  variable: false,
6386
6574
  quality: 1,
6387
- what: 'audio element content is not a media alternative for text'
6575
+ what: 'Element content is not a media alternative for text'
6388
6576
  },
6389
6577
  'QW-ACT-R60': {
6390
6578
  variable: false,
6391
6579
  quality: 1,
6392
- what: 'video element auditory content has no captions'
6580
+ what: 'Auditory content of the element has no captions'
6393
6581
  }
6394
6582
  }
6395
6583
  }
6396
6584
  },
6397
- videoContentNoText: {
6585
+ audioTextRisk: {
6586
+ why: 'User may be unable to get help reading speech as text',
6587
+ wcag: '1.2.1',
6588
+ weight: 1,
6589
+ tools: {
6590
+ aslint: {
6591
+ 'audio-alternativeA': {
6592
+ variable: false,
6593
+ quality: 1,
6594
+ what: 'Referenced description or another text alternative may be missing'
6595
+ }
6596
+ }
6597
+ }
6598
+ },
6599
+ videoNoText: {
6398
6600
  why: 'User cannot get help reading video content as text',
6399
6601
  wcag: '1.2.2',
6400
6602
  weight: 4,
@@ -6403,7 +6605,7 @@ exports.issues = {
6403
6605
  'video-caption': {
6404
6606
  variable: false,
6405
6607
  quality: 1,
6406
- what: 'video element has no captions'
6608
+ what: 'Element has no captions'
6407
6609
  }
6408
6610
  },
6409
6611
  qualWeb: {
@@ -6440,7 +6642,7 @@ exports.issues = {
6440
6642
  }
6441
6643
  }
6442
6644
  },
6443
- videoContentNoTranscript: {
6645
+ videoNoTranscript: {
6444
6646
  why: 'User cannot get help reading video content as text',
6445
6647
  wcag: '1.2.2',
6446
6648
  weight: 4,
@@ -6501,12 +6703,26 @@ exports.issues = {
6501
6703
  'QW-ACT-R54': {
6502
6704
  variable: false,
6503
6705
  quality: 1,
6504
- what: 'video element visual-only content has no audio track alternative'
6706
+ what: 'Visual-only content of the element has no audio track alternative'
6505
6707
  }
6506
6708
  }
6507
6709
  }
6508
6710
  },
6509
- notKeyboardScrollable: {
6711
+ videoAlternative: {
6712
+ why: 'User cannot get help consuming a video recording as text or speech',
6713
+ wcag: '1.2.1',
6714
+ weight: 4,
6715
+ tools: {
6716
+ aslint: {
6717
+ 'video-audio-descriptions': {
6718
+ variable: false,
6719
+ quality: 1,
6720
+ what: 'Element has neither an audio source nor a description track'
6721
+ }
6722
+ }
6723
+ }
6724
+ },
6725
+ keyboardScroll: {
6510
6726
  why: 'No-mouse user cannot scroll an item',
6511
6727
  wcag: '2.1.1',
6512
6728
  weight: 4,
@@ -6835,6 +7051,11 @@ exports.issues = {
6835
7051
  variable: false,
6836
7052
  quality: 1,
6837
7053
  what: 'Element is obsolete'
7054
+ },
7055
+ 'audio-alternativeB': {
7056
+ variable: false,
7057
+ quality: 1,
7058
+ what: 'Element is obsolete and inferior to an audio element'
6838
7059
  }
6839
7060
  },
6840
7061
  htmlcs: {