@markuplint/ml-spec 3.0.0-canary.5 → 3.0.0-dev.176

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 (128) hide show
  1. package/README.md +1 -1
  2. package/lib/constant/aria-version.d.ts +2 -0
  3. package/lib/constant/aria-version.js +5 -0
  4. package/lib/dom-traverse/accname-computation.js +3 -1
  5. package/lib/dom-traverse/get-attr-specs.d.ts +1 -1
  6. package/lib/dom-traverse/get-attr-specs.js +3 -1
  7. package/lib/dom-traverse/get-computed-aria-props.d.ts +6 -6
  8. package/lib/dom-traverse/get-computed-aria-props.js +4 -2
  9. package/lib/dom-traverse/get-computed-role.d.ts +6 -1
  10. package/lib/dom-traverse/get-computed-role.js +41 -10
  11. package/lib/dom-traverse/get-content-model.d.ts +28 -2
  12. package/lib/dom-traverse/get-content-model.js +4 -2
  13. package/lib/dom-traverse/get-explicit-role.js +9 -4
  14. package/lib/dom-traverse/get-implicit-role.d.ts +6 -2
  15. package/lib/dom-traverse/get-implicit-role.js +6 -2
  16. package/lib/dom-traverse/get-non-presentational-ancestor.d.ts +10 -4
  17. package/lib/dom-traverse/get-non-presentational-ancestor.js +10 -2
  18. package/lib/dom-traverse/get-permitted-roles.d.ts +7 -3
  19. package/lib/dom-traverse/get-permitted-roles.js +3 -1
  20. package/lib/dom-traverse/get-spec.d.ts +4 -1
  21. package/lib/dom-traverse/get-spec.js +3 -1
  22. package/lib/dom-traverse/has-required-owned-elements.d.ts +8 -2
  23. package/lib/dom-traverse/has-required-owned-elements.js +14 -8
  24. package/lib/dom-traverse/is-exposed.d.ts +1 -1
  25. package/lib/dom-traverse/is-exposed.js +43 -7
  26. package/lib/dom-traverse/matches-context-role.d.ts +7 -0
  27. package/lib/dom-traverse/matches-context-role.js +27 -0
  28. package/lib/dom-traverse/may-be-focusable.d.ts +1 -1
  29. package/lib/dom-traverse/may-be-focusable.js +3 -1
  30. package/lib/index.d.ts +4 -0
  31. package/lib/index.js +4 -0
  32. package/lib/specs/aria-specs.d.ts +7 -4
  33. package/lib/specs/content-model-category-to-tag-names.d.ts +4 -1
  34. package/lib/specs/get-aria.d.ts +8 -1
  35. package/lib/specs/get-aria.js +8 -2
  36. package/lib/specs/get-attr-specs.d.ts +6 -2
  37. package/lib/specs/get-attr-specs.js +2 -14
  38. package/lib/specs/get-implicit-role.d.ts +7 -1
  39. package/lib/specs/get-permitted-roles.d.ts +9 -3
  40. package/lib/specs/get-permitted-roles.js +19 -15
  41. package/lib/specs/get-role-spec.d.ts +10 -3
  42. package/lib/specs/get-role-spec.js +2 -2
  43. package/lib/specs/get-selectors-by-content-model-category.d.ts +1 -1
  44. package/lib/specs/get-selectors-by-content-model-category.js +1 -1
  45. package/lib/specs/get-spec-by-tag-name.d.ts +5 -1
  46. package/lib/specs/get-spec-by-tag-name.js +3 -2
  47. package/lib/specs/is-nothing-content-model.d.ts +5 -0
  48. package/lib/specs/is-nothing-content-model.js +14 -0
  49. package/lib/specs/is-palpable-elements.d.ts +8 -4
  50. package/lib/specs/is-palpable-elements.js +6 -4
  51. package/lib/specs/is-void-element.js +3 -1
  52. package/lib/specs/resolve-version.d.ts +5 -1
  53. package/lib/specs/resolve-version.js +1 -1
  54. package/lib/specs/schema-to-spec.d.ts +4 -4
  55. package/lib/specs/schema-to-spec.js +29 -18
  56. package/lib/types/aria.d.ts +149 -114
  57. package/lib/types/attributes.d.ts +1490 -111
  58. package/lib/types/index.d.ts +178 -149
  59. package/lib/types/permitted-structures.d.ts +74 -31
  60. package/lib/utils/merge-array.d.ts +9 -4
  61. package/lib/utils/resolve-namespace.d.ts +4 -4
  62. package/lib/utils/resolve-namespace.js +3 -2
  63. package/lib/utils/validateAriaVersion.d.ts +2 -0
  64. package/lib/utils/validateAriaVersion.js +8 -0
  65. package/package.json +13 -8
  66. package/{src/dom-traverse/accname-computation.spec.ts → test/dom-traverse/accname-computation.spec.js} +4 -4
  67. package/test/dom-traverse/get-computed-aria-props.spec.js +758 -0
  68. package/test/dom-traverse/get-computed-role.spec.js +294 -0
  69. package/test/dom-traverse/get-implicit-role.spec.js +40 -0
  70. package/{src/dom-traverse/has-required-owned-elements.spec.ts → test/dom-traverse/has-required-owned-elements.spec.js} +7 -9
  71. package/{src/dom-traverse/is-exposed.spec.ts → test/dom-traverse/is-exposed.spec.js} +29 -9
  72. package/test/dom-traverse/matches-context-role.spec.js +60 -0
  73. package/{src/specs/get-attr-specs.spec.ts → test/specs/get-attr-specs.spec.js} +2 -8
  74. package/{src/specs/get-implicit-role.spec.ts → test/specs/get-implicit-role.spec.js} +9 -11
  75. package/{src/specs/get-permitted-roles.spec.ts → test/specs/get-permitted-roles.spec.js} +8 -10
  76. package/{src/specs/get-role-spec.spec.ts → test/specs/get-role-spec.spec.js} +4 -4
  77. package/{src/specs/get-spec-by-tag-name.spec.ts → test/specs/get-spec-by-tag-name.spec.js} +2 -2
  78. package/test/specs/resolve-version.spec.js +34 -0
  79. package/test/specs/schema-to-spec.spec.js +61 -0
  80. package/{src/utils/resolve-namespace.spec.ts → test/utils/resolve-namespace.spec.js} +1 -1
  81. package/lib/types/permitted-structres.d.ts +0 -58
  82. package/lib/types/permitted-structres.js +0 -8
  83. package/schemas/aria.schema.json +0 -258
  84. package/schemas/attributes.schema.json +0 -204
  85. package/schemas/content-models.schema.json +0 -199
  86. package/schemas/element.schema.json +0 -11
  87. package/schemas/global-attributes.schema.json +0 -761
  88. package/src/dom-traverse/accname-computation.ts +0 -5
  89. package/src/dom-traverse/get-attr-specs.ts +0 -8
  90. package/src/dom-traverse/get-computed-aria-props.spec.ts +0 -368
  91. package/src/dom-traverse/get-computed-aria-props.ts +0 -130
  92. package/src/dom-traverse/get-computed-role.spec.ts +0 -134
  93. package/src/dom-traverse/get-computed-role.ts +0 -181
  94. package/src/dom-traverse/get-content-model.ts +0 -32
  95. package/src/dom-traverse/get-explicit-role.ts +0 -112
  96. package/src/dom-traverse/get-implicit-role.ts +0 -36
  97. package/src/dom-traverse/get-non-presentational-ancestor.ts +0 -20
  98. package/src/dom-traverse/get-permitted-roles.ts +0 -7
  99. package/src/dom-traverse/get-spec.ts +0 -7
  100. package/src/dom-traverse/has-required-owned-elements.ts +0 -85
  101. package/src/dom-traverse/is-exposed.ts +0 -196
  102. package/src/dom-traverse/may-be-focusable.ts +0 -21
  103. package/src/index.ts +0 -23
  104. package/src/specs/aria-specs.ts +0 -6
  105. package/src/specs/content-model-category-to-tag-names.ts +0 -15
  106. package/src/specs/get-aria.ts +0 -85
  107. package/src/specs/get-attr-specs.ts +0 -116
  108. package/src/specs/get-implicit-role.ts +0 -17
  109. package/src/specs/get-permitted-roles.ts +0 -87
  110. package/src/specs/get-role-spec.ts +0 -72
  111. package/src/specs/get-selectors-by-content-model-category.ts +0 -10
  112. package/src/specs/get-spec-by-tag-name.ts +0 -20
  113. package/src/specs/is-palpable-elements.ts +0 -55
  114. package/src/specs/is-presentational.ts +0 -6
  115. package/src/specs/is-void-element.ts +0 -22
  116. package/src/specs/resolve-version.ts +0 -20
  117. package/src/specs/schema-to-spec.spec.ts +0 -39
  118. package/src/specs/schema-to-spec.ts +0 -103
  119. package/src/types/aria.ts +0 -153
  120. package/src/types/attributes.ts +0 -1473
  121. package/src/types/index.ts +0 -255
  122. package/src/types/permitted-structres.ts +0 -100
  123. package/src/types/permitted-structures.ts +0 -96
  124. package/src/utils/get-ns.ts +0 -18
  125. package/src/utils/merge-array.ts +0 -35
  126. package/src/utils/resolve-namespace.ts +0 -40
  127. package/tsconfig.test.json +0 -3
  128. package/tsconfig.tsbuildinfo +0 -1
@@ -10,127 +10,162 @@ export type ImplicitRole = false | string;
10
10
  /**
11
11
  * If `true`, this mean is "Any". If `false`, this mean is "No".
12
12
  */
13
- export type PermittedRoles = boolean | (string | {
14
- name: string;
15
- deprecated?: true;
16
- [k: string]: unknown;
17
- })[] | {
18
- 'core-aam'?: true;
19
- 'graphics-aam'?: true;
20
- };
13
+ export type PermittedRoles =
14
+ | boolean
15
+ | (
16
+ | string
17
+ | {
18
+ name: string;
19
+ deprecated?: true;
20
+ [k: string]: unknown;
21
+ }
22
+ )[]
23
+ | PermittedARIAAAMInfo;
21
24
  /**
22
25
  * If set false:
23
26
  * > No role or aria-* attributes
24
27
  */
25
- export type PermittedARIAProperties = false | {
26
- global?: true;
27
- /**
28
- * Set true if the spec says "and any aria-* attributes applicable to the allowed roles."
29
- */
30
- role?: true | string | [string, ...string[]];
31
- /**
32
- * @minItems 1
33
- */
34
- only?: [
35
- (string | {
36
- name: string;
37
- value?: string;
38
- }),
39
- ...(string | {
40
- name: string;
41
- value?: string;
42
- })[]
43
- ];
44
- /**
45
- * @minItems 1
46
- */
47
- without?: [
48
- {
49
- type: 'not-recommended' | 'should-not' | 'must-not';
50
- name: string;
51
- value?: string;
52
- alt?: {
53
- method: 'remove-attr' | 'set-attr';
54
- target: string;
55
- };
56
- },
57
- ...{
58
- type: 'not-recommended' | 'should-not' | 'must-not';
59
- name: string;
60
- value?: string;
61
- alt?: {
62
- method: 'remove-attr' | 'set-attr';
63
- target: string;
64
- };
65
- }[]
66
- ];
67
- };
28
+ export type PermittedARIAProperties =
29
+ | false
30
+ | {
31
+ global?: true;
32
+ /**
33
+ * Set true if the spec says "and any aria-* attributes applicable to the allowed roles."
34
+ */
35
+ role?: true | string | [string, ...string[]];
36
+ /**
37
+ * @minItems 1
38
+ */
39
+ only?: [
40
+ (
41
+ | string
42
+ | {
43
+ name: string;
44
+ value?: string;
45
+ }
46
+ ),
47
+ ...(
48
+ | string
49
+ | {
50
+ name: string;
51
+ value?: string;
52
+ }
53
+ )[],
54
+ ];
55
+ /**
56
+ * @minItems 1
57
+ */
58
+ without?: [
59
+ {
60
+ type: 'not-recommended' | 'should-not' | 'must-not';
61
+ name: string;
62
+ value?: string;
63
+ alt?: {
64
+ method: 'remove-attr' | 'set-attr';
65
+ target: string;
66
+ };
67
+ },
68
+ ...{
69
+ type: 'not-recommended' | 'should-not' | 'must-not';
70
+ name: string;
71
+ value?: string;
72
+ alt?: {
73
+ method: 'remove-attr' | 'set-attr';
74
+ target: string;
75
+ };
76
+ }[],
77
+ ];
78
+ };
68
79
  export interface AriaSchema {
69
- _?: ARIA;
70
- [k: string]: unknown;
80
+ _?: ARIA;
81
+ [k: string]: unknown;
71
82
  }
72
83
  export interface ARIA {
73
- implicitRole: ImplicitRole;
74
- permittedRoles: PermittedRoles;
75
- namingProhibited?: true;
76
- implicitProperties?: ImplicitProperties;
77
- properties?: PermittedARIAProperties;
78
- conditions?: {
79
- /**
80
- * This interface was referenced by `undefined`'s JSON-Schema definition
81
- * via the `patternProperty` ".+".
82
- */
83
- [k: string]: {
84
- implicitRole?: ImplicitRole;
85
- permittedRoles?: PermittedRoles;
86
- namingProhibited?: true;
87
- implicitProperties?: ImplicitProperties;
88
- properties?: PermittedARIAProperties;
89
- };
90
- };
91
- '1.2'?: {
92
- implicitRole?: ImplicitRole;
93
- permittedRoles?: PermittedRoles;
94
- namingProhibited?: true;
95
- implicitProperties?: ImplicitProperties;
96
- properties?: PermittedARIAProperties;
97
- conditions?: {
98
- /**
99
- * This interface was referenced by `undefined`'s JSON-Schema definition
100
- * via the `patternProperty` ".+".
101
- */
102
- [k: string]: {
103
- implicitRole?: ImplicitRole;
104
- permittedRoles?: PermittedRoles;
105
- namingProhibited?: true;
106
- implicitProperties?: ImplicitProperties;
107
- properties?: PermittedARIAProperties;
108
- };
109
- };
110
- };
111
- '1.1'?: {
112
- implicitRole?: ImplicitRole;
113
- permittedRoles?: PermittedRoles;
114
- implicitProperties?: ImplicitProperties;
115
- properties?: PermittedARIAProperties;
116
- conditions?: {
117
- /**
118
- * This interface was referenced by `undefined`'s JSON-Schema definition
119
- * via the `patternProperty` ".+".
120
- */
121
- [k: string]: {
122
- implicitRole?: ImplicitRole;
123
- permittedRoles?: PermittedRoles;
124
- implicitProperties?: ImplicitProperties;
125
- properties?: PermittedARIAProperties;
126
- };
127
- };
128
- };
84
+ implicitRole: ImplicitRole;
85
+ permittedRoles: PermittedRoles;
86
+ namingProhibited?: true;
87
+ implicitProperties?: ImplicitProperties;
88
+ properties?: PermittedARIAProperties;
89
+ conditions?: {
90
+ /**
91
+ * This interface was referenced by `undefined`'s JSON-Schema definition
92
+ * via the `patternProperty` ".+".
93
+ */
94
+ [k: string]: {
95
+ implicitRole?: ImplicitRole;
96
+ permittedRoles?: PermittedRoles;
97
+ namingProhibited?: true;
98
+ implicitProperties?: ImplicitProperties;
99
+ properties?: PermittedARIAProperties;
100
+ };
101
+ };
102
+ '1.3'?: {
103
+ implicitRole?: ImplicitRole;
104
+ permittedRoles?: PermittedRoles;
105
+ namingProhibited?: true;
106
+ implicitProperties?: ImplicitProperties;
107
+ properties?: PermittedARIAProperties;
108
+ conditions?: {
109
+ /**
110
+ * This interface was referenced by `undefined`'s JSON-Schema definition
111
+ * via the `patternProperty` ".+".
112
+ */
113
+ [k: string]: {
114
+ implicitRole?: ImplicitRole;
115
+ permittedRoles?: PermittedRoles;
116
+ namingProhibited?: true;
117
+ implicitProperties?: ImplicitProperties;
118
+ properties?: PermittedARIAProperties;
119
+ };
120
+ };
121
+ };
122
+ '1.2'?: {
123
+ implicitRole?: ImplicitRole;
124
+ permittedRoles?: PermittedRoles;
125
+ namingProhibited?: true;
126
+ implicitProperties?: ImplicitProperties;
127
+ properties?: PermittedARIAProperties;
128
+ conditions?: {
129
+ /**
130
+ * This interface was referenced by `undefined`'s JSON-Schema definition
131
+ * via the `patternProperty` ".+".
132
+ */
133
+ [k: string]: {
134
+ implicitRole?: ImplicitRole;
135
+ permittedRoles?: PermittedRoles;
136
+ namingProhibited?: true;
137
+ implicitProperties?: ImplicitProperties;
138
+ properties?: PermittedARIAProperties;
139
+ };
140
+ };
141
+ };
142
+ '1.1'?: {
143
+ implicitRole?: ImplicitRole;
144
+ permittedRoles?: PermittedRoles;
145
+ implicitProperties?: ImplicitProperties;
146
+ properties?: PermittedARIAProperties;
147
+ conditions?: {
148
+ /**
149
+ * This interface was referenced by `undefined`'s JSON-Schema definition
150
+ * via the `patternProperty` ".+".
151
+ */
152
+ [k: string]: {
153
+ implicitRole?: ImplicitRole;
154
+ permittedRoles?: PermittedRoles;
155
+ implicitProperties?: ImplicitProperties;
156
+ properties?: PermittedARIAProperties;
157
+ };
158
+ };
159
+ };
160
+ }
161
+ export interface PermittedARIAAAMInfo {
162
+ 'core-aam'?: true;
163
+ 'graphics-aam'?: true;
129
164
  }
130
165
  export interface ImplicitProperties {
131
- /**
132
- * This interface was referenced by `ImplicitProperties`'s JSON-Schema definition
133
- * via the `patternProperty` "^aria-.+".
134
- */
135
- [k: string]: string;
166
+ /**
167
+ * This interface was referenced by `ImplicitProperties`'s JSON-Schema definition
168
+ * via the `patternProperty` "^aria-.+".
169
+ */
170
+ [k: string]: string;
136
171
  }