testilo 52.0.0 → 52.1.1
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/package.json +1 -1
- package/procs/score/tic.js +94 -29
package/package.json
CHANGED
package/procs/score/tic.js
CHANGED
|
@@ -3889,8 +3889,8 @@ exports.issues = {
|
|
|
3889
3889
|
}
|
|
3890
3890
|
}
|
|
3891
3891
|
},
|
|
3892
|
-
|
|
3893
|
-
summary: 'script element
|
|
3892
|
+
scriptNotDeferrable: {
|
|
3893
|
+
summary: 'script element invalidly deferred',
|
|
3894
3894
|
why: 'Browser processes the document improperly',
|
|
3895
3895
|
wcag: '1.3.1',
|
|
3896
3896
|
weight: 4,
|
|
@@ -3901,20 +3901,52 @@ exports.issues = {
|
|
|
3901
3901
|
quality: 1,
|
|
3902
3902
|
what: 'Element is script and has a defer attribute but no src attribute'
|
|
3903
3903
|
},
|
|
3904
|
-
'
|
|
3904
|
+
'An inline script element (i.e., a script element without a src attribute and with a type attribute that is either unspecified, empty, or a JavaScript MIME type) must not have a defer attribute.': {
|
|
3905
3905
|
variable: false,
|
|
3906
3906
|
quality: 1,
|
|
3907
|
-
what: 'Element is
|
|
3907
|
+
what: 'Element is not eligible for a defer attribute but has one'
|
|
3908
3908
|
},
|
|
3909
|
-
'A script element with a
|
|
3909
|
+
'A script element with a type attribute whose value is neither a JavaScript MIME type, module, importmap, nor speculationrules (i.e., a data block) must not have a defer attribute.': {
|
|
3910
3910
|
variable: false,
|
|
3911
3911
|
quality: 1,
|
|
3912
|
-
what: 'Element is
|
|
3912
|
+
what: 'Element is not eligible for a defer attribute but has one'
|
|
3913
|
+
}
|
|
3914
|
+
},
|
|
3915
|
+
nuVnu: {
|
|
3916
|
+
'Element script must not have attribute defer unless attribute src is also specified.': {
|
|
3917
|
+
variable: false,
|
|
3918
|
+
quality: 1,
|
|
3919
|
+
what: 'Element is script and has a defer attribute but no src attribute'
|
|
3920
|
+
},
|
|
3921
|
+
'An inline script element (i.e., a script element without a src attribute and with a type attribute that is either unspecified, empty, or a JavaScript MIME type) must not have a defer attribute.': {
|
|
3922
|
+
variable: false,
|
|
3923
|
+
quality: 1,
|
|
3924
|
+
what: 'Element is not eligible for a defer attribute but has one'
|
|
3913
3925
|
},
|
|
3914
3926
|
'A script element with a type attribute whose value is neither a JavaScript MIME type, module, importmap, nor speculationrules (i.e., a data block) must not have a defer attribute.': {
|
|
3915
3927
|
variable: false,
|
|
3916
3928
|
quality: 1,
|
|
3917
3929
|
what: 'Element is not eligible for a defer attribute but has one'
|
|
3930
|
+
}
|
|
3931
|
+
}
|
|
3932
|
+
}
|
|
3933
|
+
},
|
|
3934
|
+
scriptElementBad: {
|
|
3935
|
+
summary: 'script element invalid',
|
|
3936
|
+
why: 'Browser processes the document improperly',
|
|
3937
|
+
wcag: '1.3.1',
|
|
3938
|
+
weight: 4,
|
|
3939
|
+
tools: {
|
|
3940
|
+
nuVal: {
|
|
3941
|
+
'Element script should not have attribute fetchpriority unless attribute src is also specified.': {
|
|
3942
|
+
variable: false,
|
|
3943
|
+
quality: 1,
|
|
3944
|
+
what: 'Element is script and has a fetchpriority attribute but no src attribute'
|
|
3945
|
+
},
|
|
3946
|
+
'A script element with a src attribute must not have a type attribute whose value is anything other than the empty string, a JavaScript MIME type, or module.': {
|
|
3947
|
+
variable: false,
|
|
3948
|
+
quality: 1,
|
|
3949
|
+
what: 'Element is script and has a src attribute but its type is not empty, a JS MIME type, or module'
|
|
3918
3950
|
},
|
|
3919
3951
|
'A script element with a type attribute whose value is neither a JavaScript MIME type, module, importmap, nor speculationrules (i.e., a data block) must not have an async attribute.': {
|
|
3920
3952
|
variable: false,
|
|
@@ -3928,11 +3960,6 @@ exports.issues = {
|
|
|
3928
3960
|
}
|
|
3929
3961
|
},
|
|
3930
3962
|
nuVnu: {
|
|
3931
|
-
'Element script must not have attribute defer unless attribute src is also specified.': {
|
|
3932
|
-
variable: false,
|
|
3933
|
-
quality: 1,
|
|
3934
|
-
what: 'Element is script and has a defer attribute but no src attribute'
|
|
3935
|
-
},
|
|
3936
3963
|
'Element script should not have attribute fetchpriority unless attribute src is also specified.': {
|
|
3937
3964
|
variable: false,
|
|
3938
3965
|
quality: 1,
|
|
@@ -3943,11 +3970,6 @@ exports.issues = {
|
|
|
3943
3970
|
quality: 1,
|
|
3944
3971
|
what: 'Element is script and has a src attribute but its type is not empty, a JS MIME type, or module'
|
|
3945
3972
|
},
|
|
3946
|
-
'A script element with a type attribute whose value is neither a JavaScript MIME type, module, importmap, nor speculationrules (i.e., a data block) must not have a defer attribute.': {
|
|
3947
|
-
variable: false,
|
|
3948
|
-
quality: 1,
|
|
3949
|
-
what: 'Element is not eligible for a defer attribute but has one'
|
|
3950
|
-
},
|
|
3951
3973
|
'A script element with a type attribute whose value is neither a JavaScript MIME type, module, importmap, nor speculationrules (i.e., a data block) must not have an async attribute.': {
|
|
3952
3974
|
variable: false,
|
|
3953
3975
|
quality: 1,
|
|
@@ -6444,7 +6466,7 @@ exports.issues = {
|
|
|
6444
6466
|
weight: 1,
|
|
6445
6467
|
tools: {
|
|
6446
6468
|
ed11y: {
|
|
6447
|
-
|
|
6469
|
+
blockquoteIsShort: {
|
|
6448
6470
|
variable: false,
|
|
6449
6471
|
quality: 1,
|
|
6450
6472
|
what: 'Block quote is shorter than 25 characters'
|
|
@@ -6895,31 +6917,36 @@ exports.issues = {
|
|
|
6895
6917
|
'select-name': {
|
|
6896
6918
|
variable: false,
|
|
6897
6919
|
quality: 1,
|
|
6898
|
-
what: 'select
|
|
6920
|
+
what: 'Element is select but has no accessible name'
|
|
6899
6921
|
}
|
|
6900
6922
|
},
|
|
6901
6923
|
htmlcs: {
|
|
6902
6924
|
'E-AAA.4_1_2.H91.Select.Name': {
|
|
6903
6925
|
variable: false,
|
|
6904
6926
|
quality: 1,
|
|
6905
|
-
what: '
|
|
6927
|
+
what: 'Element is select but has no accessible name'
|
|
6928
|
+
},
|
|
6929
|
+
'E-WCAG2AAA.Principle4.Guideline4_1.4_1_2.H91.Select.Name': {
|
|
6930
|
+
variable: false,
|
|
6931
|
+
quality: 1,
|
|
6932
|
+
what: 'select element has no accessible name'
|
|
6906
6933
|
},
|
|
6907
6934
|
'E-AAA.4_1_2.H91.Select.Value': {
|
|
6908
6935
|
variable: false,
|
|
6909
6936
|
quality: 1,
|
|
6910
|
-
what: '
|
|
6937
|
+
what: 'Element is select but its value has no accessible name'
|
|
6911
6938
|
},
|
|
6912
6939
|
'W-WCAG2AAA.Principle4.Guideline4_1.4_1_2.H91.Select.Value': {
|
|
6913
6940
|
variable: false,
|
|
6914
6941
|
quality: 1,
|
|
6915
|
-
what: '
|
|
6942
|
+
what: 'Element is select but its value has no accessible name'
|
|
6916
6943
|
}
|
|
6917
6944
|
},
|
|
6918
6945
|
wave: {
|
|
6919
6946
|
select_missing_label: {
|
|
6920
6947
|
variable: false,
|
|
6921
6948
|
quality: 1,
|
|
6922
|
-
what: '
|
|
6949
|
+
what: 'Element is select but has no label'
|
|
6923
6950
|
}
|
|
6924
6951
|
}
|
|
6925
6952
|
}
|
|
@@ -6934,14 +6961,14 @@ exports.issues = {
|
|
|
6934
6961
|
'Element option without attribute label must not be empty.': {
|
|
6935
6962
|
variable: false,
|
|
6936
6963
|
quality: 1,
|
|
6937
|
-
what: '
|
|
6964
|
+
what: 'Element is option with no label attribute but is empty'
|
|
6938
6965
|
}
|
|
6939
6966
|
},
|
|
6940
6967
|
nuVnu: {
|
|
6941
6968
|
'Element option without attribute label must not be empty.': {
|
|
6942
6969
|
variable: false,
|
|
6943
6970
|
quality: 1,
|
|
6944
|
-
what: '
|
|
6971
|
+
what: 'Element is option with no label attribute but is empty'
|
|
6945
6972
|
}
|
|
6946
6973
|
}
|
|
6947
6974
|
}
|
|
@@ -8918,11 +8945,6 @@ exports.issues = {
|
|
|
8918
8945
|
variable: false,
|
|
8919
8946
|
quality: 1,
|
|
8920
8947
|
what: 'ARIA hidden element is focusable or contains a focusable element'
|
|
8921
|
-
},
|
|
8922
|
-
'presentation-role-conflict': {
|
|
8923
|
-
variable: false,
|
|
8924
|
-
quality: 1,
|
|
8925
|
-
what: 'Element has a none/presentation role but is focusable or has a global ARIA state or property'
|
|
8926
8948
|
}
|
|
8927
8949
|
},
|
|
8928
8950
|
ibm: {
|
|
@@ -9174,6 +9196,20 @@ exports.issues = {
|
|
|
9174
9196
|
wcag: '1.3.1',
|
|
9175
9197
|
weight: 2,
|
|
9176
9198
|
tools: {
|
|
9199
|
+
nuVal: {
|
|
9200
|
+
'The aria-label attribute must not be used on any label element that is associated with a labelable element.': {
|
|
9201
|
+
variable: false,
|
|
9202
|
+
quality: 1,
|
|
9203
|
+
what: 'Element is a label but has a label'
|
|
9204
|
+
}
|
|
9205
|
+
},
|
|
9206
|
+
nuVnu: {
|
|
9207
|
+
'The aria-label attribute must not be used on any label element that is associated with a labelable element.': {
|
|
9208
|
+
variable: false,
|
|
9209
|
+
quality: 1,
|
|
9210
|
+
what: 'Element is a label but has a label'
|
|
9211
|
+
}
|
|
9212
|
+
},
|
|
9177
9213
|
testaro: {
|
|
9178
9214
|
labClash: {
|
|
9179
9215
|
variable: false,
|
|
@@ -9802,6 +9838,35 @@ exports.issues = {
|
|
|
9802
9838
|
}
|
|
9803
9839
|
}
|
|
9804
9840
|
},
|
|
9841
|
+
presentationGlobal: {
|
|
9842
|
+
summary: 'global ARIA attribute nullifies presentation role',
|
|
9843
|
+
why: 'User encounters content intended to be hidden',
|
|
9844
|
+
wcag: '1.3.1',
|
|
9845
|
+
weight: 1,
|
|
9846
|
+
tools: {
|
|
9847
|
+
axe: {
|
|
9848
|
+
'presentation-role-conflict': {
|
|
9849
|
+
variable: false,
|
|
9850
|
+
quality: 1,
|
|
9851
|
+
what: 'Element has a none/presentation role but is focusable or has a global ARIA state or property'
|
|
9852
|
+
}
|
|
9853
|
+
},
|
|
9854
|
+
nuVal: {
|
|
9855
|
+
'The presentation role does not affect elements that have global ARIA attributes.': {
|
|
9856
|
+
variable: false,
|
|
9857
|
+
quality: 1,
|
|
9858
|
+
what: 'Element has a presentation role but also a global ARIA attribute that nullifies the role'
|
|
9859
|
+
}
|
|
9860
|
+
},
|
|
9861
|
+
nuVnu: {
|
|
9862
|
+
'The presentation role does not affect elements that have global ARIA attributes.': {
|
|
9863
|
+
variable: false,
|
|
9864
|
+
quality: 1,
|
|
9865
|
+
what: 'Element has a presentation role but also a global ARIA attribute that nullifies the role'
|
|
9866
|
+
}
|
|
9867
|
+
}
|
|
9868
|
+
}
|
|
9869
|
+
},
|
|
9805
9870
|
presentationTabIndexed: {
|
|
9806
9871
|
summary: 'tabindex attribute nullifies presentation role',
|
|
9807
9872
|
why: 'User encounters content intended to be hidden',
|