@markuplint/html-spec 4.0.0-alpha.1 → 4.0.0-alpha.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.
package/index.json CHANGED
@@ -675,7 +675,7 @@
675
675
  "type": "URL"
676
676
  },
677
677
  "target": {
678
- "type": "BrowsingContextNameOrKeyword",
678
+ "type": "NavigableTargetNameOrKeyword",
679
679
  "condition": "[href]"
680
680
  },
681
681
  "download": {
@@ -706,7 +706,8 @@
706
706
  "opener",
707
707
  "prev",
708
708
  "search",
709
- "tag"
709
+ "tag",
710
+ "terms-of-service"
710
711
  ]
711
712
  },
712
713
  "unique": true,
@@ -838,7 +839,7 @@
838
839
  "type": "Boolean"
839
840
  },
840
841
  "formtarget": {
841
- "type": "BrowsingContextNameOrKeyword"
842
+ "type": "NavigableTargetNameOrKeyword"
842
843
  },
843
844
  "name": {
844
845
  "type": "NoEmptyAny"
@@ -2087,363 +2088,6 @@
2087
2088
  ],
2088
2089
  "prohibitedProperties": []
2089
2090
  },
2090
- {
2091
- "name": "associationlist",
2092
- "description": "A section containing associationlistitemkey and associationlistitemvalue elements.\n\nAssociation lists contain children whose role is associationlistitemkey and associationlistitemvalue to represent a list of key items each having one or more values.\n\nAuthor requirements for elements whose role is associationlist:",
2093
- "generalization": ["section"],
2094
- "requiredContextRole": [],
2095
- "requiredOwnedElements": ["associationlistitemkey", "associationlistitemvalue"],
2096
- "accessibleNameRequired": false,
2097
- "accessibleNameFromAuthor": true,
2098
- "accessibleNameFromContent": false,
2099
- "accessibleNameProhibited": false,
2100
- "ownedProperties": [
2101
- {
2102
- "name": "aria-atomic",
2103
- "inherited": true
2104
- },
2105
- {
2106
- "name": "aria-braillelabel",
2107
- "inherited": true
2108
- },
2109
- {
2110
- "name": "aria-brailleroledescription",
2111
- "inherited": true
2112
- },
2113
- {
2114
- "name": "aria-busy",
2115
- "inherited": true
2116
- },
2117
- {
2118
- "name": "aria-controls",
2119
- "inherited": true
2120
- },
2121
- {
2122
- "name": "aria-current",
2123
- "inherited": true
2124
- },
2125
- {
2126
- "name": "aria-describedby",
2127
- "inherited": true
2128
- },
2129
- {
2130
- "name": "aria-description",
2131
- "inherited": true
2132
- },
2133
- {
2134
- "name": "aria-details",
2135
- "inherited": true
2136
- },
2137
- {
2138
- "name": "aria-disabled",
2139
- "deprecated": true,
2140
- "inherited": true
2141
- },
2142
- {
2143
- "name": "aria-dropeffect",
2144
- "inherited": true
2145
- },
2146
- {
2147
- "name": "aria-errormessage",
2148
- "deprecated": true,
2149
- "inherited": true
2150
- },
2151
- {
2152
- "name": "aria-flowto",
2153
- "inherited": true
2154
- },
2155
- {
2156
- "name": "aria-grabbed",
2157
- "inherited": true
2158
- },
2159
- {
2160
- "name": "aria-haspopup",
2161
- "deprecated": true,
2162
- "inherited": true
2163
- },
2164
- {
2165
- "name": "aria-hidden",
2166
- "inherited": true
2167
- },
2168
- {
2169
- "name": "aria-invalid",
2170
- "deprecated": true,
2171
- "inherited": true
2172
- },
2173
- {
2174
- "name": "aria-keyshortcuts",
2175
- "inherited": true
2176
- },
2177
- {
2178
- "name": "aria-label",
2179
- "inherited": true
2180
- },
2181
- {
2182
- "name": "aria-labelledby",
2183
- "inherited": true
2184
- },
2185
- {
2186
- "name": "aria-live",
2187
- "inherited": true
2188
- },
2189
- {
2190
- "name": "aria-owns",
2191
- "inherited": true
2192
- },
2193
- {
2194
- "name": "aria-relevant",
2195
- "inherited": true
2196
- },
2197
- {
2198
- "name": "aria-roledescription",
2199
- "inherited": true
2200
- }
2201
- ],
2202
- "prohibitedProperties": []
2203
- },
2204
- {
2205
- "name": "associationlistitemkey",
2206
- "description": "A single key item in an association list.\n\nAuthor requirements for elements whose role is associationlistitemkey:",
2207
- "generalization": ["section"],
2208
- "requiredContextRole": ["associationlist"],
2209
- "requiredOwnedElements": [],
2210
- "accessibleNameRequired": false,
2211
- "accessibleNameFromAuthor": true,
2212
- "accessibleNameFromContent": false,
2213
- "accessibleNameProhibited": false,
2214
- "ownedProperties": [
2215
- {
2216
- "name": "aria-atomic",
2217
- "inherited": true
2218
- },
2219
- {
2220
- "name": "aria-braillelabel",
2221
- "inherited": true
2222
- },
2223
- {
2224
- "name": "aria-brailleroledescription",
2225
- "inherited": true
2226
- },
2227
- {
2228
- "name": "aria-busy",
2229
- "inherited": true
2230
- },
2231
- {
2232
- "name": "aria-controls",
2233
- "inherited": true
2234
- },
2235
- {
2236
- "name": "aria-current",
2237
- "inherited": true
2238
- },
2239
- {
2240
- "name": "aria-describedby",
2241
- "inherited": true
2242
- },
2243
- {
2244
- "name": "aria-description",
2245
- "inherited": true
2246
- },
2247
- {
2248
- "name": "aria-details",
2249
- "inherited": true
2250
- },
2251
- {
2252
- "name": "aria-disabled",
2253
- "deprecated": true,
2254
- "inherited": true
2255
- },
2256
- {
2257
- "name": "aria-dropeffect",
2258
- "inherited": true
2259
- },
2260
- {
2261
- "name": "aria-errormessage",
2262
- "deprecated": true,
2263
- "inherited": true
2264
- },
2265
- {
2266
- "name": "aria-flowto",
2267
- "inherited": true
2268
- },
2269
- {
2270
- "name": "aria-grabbed",
2271
- "inherited": true
2272
- },
2273
- {
2274
- "name": "aria-haspopup",
2275
- "deprecated": true,
2276
- "inherited": true
2277
- },
2278
- {
2279
- "name": "aria-hidden",
2280
- "inherited": true
2281
- },
2282
- {
2283
- "name": "aria-invalid",
2284
- "deprecated": true,
2285
- "inherited": true
2286
- },
2287
- {
2288
- "name": "aria-keyshortcuts",
2289
- "inherited": true
2290
- },
2291
- {
2292
- "name": "aria-label",
2293
- "inherited": true
2294
- },
2295
- {
2296
- "name": "aria-labelledby",
2297
- "inherited": true
2298
- },
2299
- {
2300
- "name": "aria-level"
2301
- },
2302
- {
2303
- "name": "aria-live",
2304
- "inherited": true
2305
- },
2306
- {
2307
- "name": "aria-owns",
2308
- "inherited": true
2309
- },
2310
- {
2311
- "name": "aria-posinset"
2312
- },
2313
- {
2314
- "name": "aria-relevant",
2315
- "inherited": true
2316
- },
2317
- {
2318
- "name": "aria-roledescription",
2319
- "inherited": true
2320
- },
2321
- {
2322
- "name": "aria-setsize"
2323
- }
2324
- ],
2325
- "prohibitedProperties": []
2326
- },
2327
- {
2328
- "name": "associationlistitemvalue",
2329
- "description": "A single value item in an association list.\n\nAuthor requirements for elements whose role is associationlistitemvalue:",
2330
- "generalization": ["section"],
2331
- "requiredContextRole": ["associationlist"],
2332
- "requiredOwnedElements": [],
2333
- "accessibleNameRequired": false,
2334
- "accessibleNameFromAuthor": true,
2335
- "accessibleNameFromContent": false,
2336
- "accessibleNameProhibited": false,
2337
- "ownedProperties": [
2338
- {
2339
- "name": "aria-atomic",
2340
- "inherited": true
2341
- },
2342
- {
2343
- "name": "aria-braillelabel",
2344
- "inherited": true
2345
- },
2346
- {
2347
- "name": "aria-brailleroledescription",
2348
- "inherited": true
2349
- },
2350
- {
2351
- "name": "aria-busy",
2352
- "inherited": true
2353
- },
2354
- {
2355
- "name": "aria-controls",
2356
- "inherited": true
2357
- },
2358
- {
2359
- "name": "aria-current",
2360
- "inherited": true
2361
- },
2362
- {
2363
- "name": "aria-describedby",
2364
- "inherited": true
2365
- },
2366
- {
2367
- "name": "aria-description",
2368
- "inherited": true
2369
- },
2370
- {
2371
- "name": "aria-details",
2372
- "inherited": true
2373
- },
2374
- {
2375
- "name": "aria-disabled",
2376
- "deprecated": true,
2377
- "inherited": true
2378
- },
2379
- {
2380
- "name": "aria-dropeffect",
2381
- "inherited": true
2382
- },
2383
- {
2384
- "name": "aria-errormessage",
2385
- "deprecated": true,
2386
- "inherited": true
2387
- },
2388
- {
2389
- "name": "aria-flowto",
2390
- "inherited": true
2391
- },
2392
- {
2393
- "name": "aria-grabbed",
2394
- "inherited": true
2395
- },
2396
- {
2397
- "name": "aria-haspopup",
2398
- "deprecated": true,
2399
- "inherited": true
2400
- },
2401
- {
2402
- "name": "aria-hidden",
2403
- "inherited": true
2404
- },
2405
- {
2406
- "name": "aria-invalid",
2407
- "deprecated": true,
2408
- "inherited": true
2409
- },
2410
- {
2411
- "name": "aria-keyshortcuts",
2412
- "inherited": true
2413
- },
2414
- {
2415
- "name": "aria-label",
2416
- "inherited": true
2417
- },
2418
- {
2419
- "name": "aria-labelledby",
2420
- "inherited": true
2421
- },
2422
- {
2423
- "name": "aria-live",
2424
- "inherited": true
2425
- },
2426
- {
2427
- "name": "aria-owns",
2428
- "inherited": true
2429
- },
2430
- {
2431
- "name": "aria-posinset"
2432
- },
2433
- {
2434
- "name": "aria-relevant",
2435
- "inherited": true
2436
- },
2437
- {
2438
- "name": "aria-roledescription",
2439
- "inherited": true
2440
- },
2441
- {
2442
- "name": "aria-setsize"
2443
- }
2444
- ],
2445
- "prohibitedProperties": []
2446
- },
2447
2091
  {
2448
2092
  "name": "banner",
2449
2093
  "description": "A landmark that contains mostly site-oriented content, rather than page-specific content.\n\nSite-oriented content typically includes things such as the logo or identity of the site sponsor, and a site-specific search tool. A banner usually appears at the top of the page and typically spans the full width.\n\nAssistive technologies SHOULD enable users to quickly navigate to elements with role banner. user agents SHOULD treat elements with role banner as navigational landmarks. user agents MAY enable users to quickly navigate to elements with role banner.\n\nThe author SHOULD mark no more than one element on a page with the banner role.\n\nBecause document and application elements can be nested in the DOM, they can have multiple banner elements as DOM descendants, assuming each of those is associated with different document nodes, either by a DOM nesting (e.g., document within document) or by use of the aria-owns attribute.",
@@ -2791,9 +2435,9 @@
2791
2435
  },
2792
2436
  {
2793
2437
  "name": "caption",
2794
- "description": "Visible content that names, or describes a group, figure, table, grid, radiogroup, or treegrid.\n\nWhen using caption authors SHOULD ensure:\n\nIf the caption represents an accessible name for its containing element, authors SHOULD specify aria-labelledby on the containing element to reference the element with role caption.\n\nIf a caption contains content that serves as both a name and description for its containing element, authors MAY instead specify aria-labelledby to reference an element within the caption that represents the \"name\" of the containing element, and specify aria-describedby to reference an element within the caption that represents the descriptive content.\n\nIf the caption represents a long-form description, or if the description contains semantic elements which are important in understanding the description, authors MAY instead specify aria-labelledby to reference an element within the caption that represents the \"name\" of the containing element, and specify aria-details to reference an element within the caption that represents the descriptive content.\n\nIf a caption contains only a description, without a suitable text string to serve as the accessible name for its containing element, then aria-label or aria-labelledby MAY be used to provide an accessible name, and the caption MAY be treated solely as descriptive content, referenced via aria-details.",
2438
+ "description": "Visible content that names, or describes a figure, grid, group, radiogroup, table or treegrid.\n\nWhen using caption authors SHOULD ensure:\n\nIf the caption represents an accessible name for its containing element, authors SHOULD specify aria-labelledby on the containing element to reference the element with role caption.\n\nIf a caption contains content that serves as both a name and description for its containing element, authors MAY instead specify aria-labelledby to reference an element within the caption that represents the \"name\" of the containing element, and specify aria-describedby to reference an element within the caption that represents the descriptive content.\n\nIf the caption represents a long-form description, or if the description contains semantic elements which are important in understanding the description, authors MAY instead specify aria-labelledby to reference an element within the caption that represents the \"name\" of the containing element, and specify aria-details to reference an element within the caption that represents the descriptive content.\n\nIf a caption contains only a description, without a suitable text string to serve as the accessible name for its containing element, then aria-label or aria-labelledby MAY be used to provide an accessible name, and the caption MAY be treated solely as descriptive content, referenced via aria-details.",
2795
2439
  "generalization": ["section"],
2796
- "requiredContextRole": ["figure", "grid", "table", "treegrid"],
2440
+ "requiredContextRole": ["figure", "grid", "group", "radiogroup", "table", "treegrid"],
2797
2441
  "requiredOwnedElements": [],
2798
2442
  "accessibleNameRequired": false,
2799
2443
  "accessibleNameFromAuthor": false,
@@ -2804,10 +2448,6 @@
2804
2448
  "name": "aria-atomic",
2805
2449
  "inherited": true
2806
2450
  },
2807
- {
2808
- "name": "aria-braillelabel",
2809
- "inherited": true
2810
- },
2811
2451
  {
2812
2452
  "name": "aria-brailleroledescription",
2813
2453
  "inherited": true
@@ -2893,11 +2533,11 @@
2893
2533
  "inherited": true
2894
2534
  }
2895
2535
  ],
2896
- "prohibitedProperties": ["aria-label", "aria-labelledby"]
2536
+ "prohibitedProperties": ["aria-braillelabel", "aria-label", "aria-labelledby"]
2897
2537
  },
2898
2538
  {
2899
2539
  "name": "cell",
2900
- "description": "A cell in a tabular container. See related gridcell.\n\nAuthors MUST ensure elements with role cell are contained in, or owned by, an element with the role row.",
2540
+ "description": "A cell in a tabular container. See related gridcell.\n\nAuthors MUST ensure elements with role cell are the accessibility children of an element with the role row.",
2901
2541
  "generalization": ["section"],
2902
2542
  "requiredContextRole": ["row"],
2903
2543
  "requiredOwnedElements": [],
@@ -3165,10 +2805,6 @@
3165
2805
  "name": "aria-atomic",
3166
2806
  "inherited": true
3167
2807
  },
3168
- {
3169
- "name": "aria-braillelabel",
3170
- "inherited": true
3171
- },
3172
2808
  {
3173
2809
  "name": "aria-brailleroledescription",
3174
2810
  "inherited": true
@@ -3254,11 +2890,11 @@
3254
2890
  "inherited": true
3255
2891
  }
3256
2892
  ],
3257
- "prohibitedProperties": ["aria-label", "aria-labelledby"]
2893
+ "prohibitedProperties": ["aria-braillelabel", "aria-label", "aria-labelledby"]
3258
2894
  },
3259
2895
  {
3260
2896
  "name": "columnheader",
3261
- "description": "A cell containing header information for a column.\n\ncolumnheader can be used as a column header in a table or grid. It could also be used in a pie chart to show a similar relationship in the data.\n\nThe columnheader establishes a relationship between it and all cells in the corresponding column. It is the structural equivalent to an HTML th element with a column scope.\n\nAuthors MUST ensure elements with role columnheader are contained in, or owned by, an element with the role row.\n\nApplying the aria-selected state on a columnheader MUST not cause the user agent to automatically propagate the aria-selected state to all the cells in the corresponding column. An author MAY choose to propagate selection in this manner depending on the specific application.\n\nWhile the columnheader role can be used in both interactive grids and non-interactive tables, the use of aria-readonly and aria-required is only applicable to interactive elements. Therefore, authors SHOULD NOT use aria-required or aria-readonly in a columnheader that descends from a table, and user agents SHOULD NOT expose either property to assistive technologies unless the columnheader descends from a grid.\n\nBecause cells are organized into rows, there is not a single container element for the column. The column is the set of gridcell elements in a particular position within their respective row containers.\n\nWhile aria-disabled is currently supported on columnheader, in a future version the working group plans to prohibit its use on elements with role columnheader except when the element is in the context of a grid or treegrid.",
2897
+ "description": "A cell containing header information for a column.\n\ncolumnheader can be used as a column header in a table or grid. It could also be used in a pie chart to show a similar relationship in the data.\n\nThe columnheader establishes a relationship between it and all cells in the corresponding column. It is the structural equivalent to an HTML th element with a column scope.\n\nAuthors MUST ensure elements with role columnheader are the accessibility children of an element with the role row.\n\nApplying the aria-selected state on a columnheader MUST not cause the user agent to automatically propagate the aria-selected state to all the cells in the corresponding column. An author MAY choose to propagate selection in this manner depending on the specific application.\n\nWhile the columnheader role can be used in both interactive grids and non-interactive tables, the use of aria-readonly and aria-required is only applicable to interactive elements. Therefore, authors SHOULD NOT use aria-required or aria-readonly in a columnheader that descends from a table, and user agents SHOULD NOT expose either property to assistive technologies unless the columnheader descends from a grid.\n\nBecause cells are organized into rows, there is not a single container element for the column. The column is the set of gridcell elements in a particular position within their respective row containers.\n\nWhile aria-disabled is currently supported on columnheader, in a future version the working group plans to prohibit its use on elements with role columnheader except when the element is in the context of a grid or treegrid.",
3262
2898
  "generalization": ["cell", "gridcell", "sectionhead"],
3263
2899
  "requiredContextRole": ["row"],
3264
2900
  "requiredOwnedElements": [],
@@ -3885,7 +3521,7 @@
3885
3521
  },
3886
3522
  {
3887
3523
  "name": "composite",
3888
- "description": "A widget that can contain navigable descendants or owned children.\n\nAuthors SHOULD ensure that a composite widget exists as a single navigation stop within the larger navigation system of the web page. Once the composite widget has focus, authors SHOULD provide a separate navigation mechanism for users to navigate to elements that are descendants or owned children of the composite element.\n\ncomposite is an abstract role used for the ontology. Authors MUST NOT use composite role in content.",
3524
+ "description": "A widget that can contain navigable accessibility descendants.\n\nAuthors SHOULD ensure that a composite widget exists as a single navigation stop within the larger navigation system of the web page. Once the composite widget has focus, authors SHOULD provide a separate navigation mechanism for users to navigate to elements that are accessibility descendants of the composite element.\n\ncomposite is an abstract role used for the ontology. Authors MUST NOT use composite role in content.",
3889
3525
  "isAbstract": true,
3890
3526
  "generalization": ["widget"],
3891
3527
  "requiredContextRole": [],
@@ -4128,10 +3764,6 @@
4128
3764
  "name": "aria-atomic",
4129
3765
  "inherited": true
4130
3766
  },
4131
- {
4132
- "name": "aria-braillelabel",
4133
- "inherited": true
4134
- },
4135
3767
  {
4136
3768
  "name": "aria-brailleroledescription",
4137
3769
  "inherited": true
@@ -4217,7 +3849,7 @@
4217
3849
  "inherited": true
4218
3850
  }
4219
3851
  ],
4220
- "prohibitedProperties": ["aria-label", "aria-labelledby"]
3852
+ "prohibitedProperties": ["aria-braillelabel", "aria-label", "aria-labelledby"]
4221
3853
  },
4222
3854
  {
4223
3855
  "name": "deletion",
@@ -4234,10 +3866,6 @@
4234
3866
  "name": "aria-atomic",
4235
3867
  "inherited": true
4236
3868
  },
4237
- {
4238
- "name": "aria-braillelabel",
4239
- "inherited": true
4240
- },
4241
3869
  {
4242
3870
  "name": "aria-brailleroledescription",
4243
3871
  "inherited": true
@@ -4323,7 +3951,7 @@
4323
3951
  "inherited": true
4324
3952
  }
4325
3953
  ],
4326
- "prohibitedProperties": ["aria-label", "aria-labelledby"]
3954
+ "prohibitedProperties": ["aria-braillelabel", "aria-label", "aria-labelledby"]
4327
3955
  },
4328
3956
  {
4329
3957
  "name": "dialog",
@@ -4686,10 +4314,6 @@
4686
4314
  "name": "aria-atomic",
4687
4315
  "inherited": true
4688
4316
  },
4689
- {
4690
- "name": "aria-braillelabel",
4691
- "inherited": true
4692
- },
4693
4317
  {
4694
4318
  "name": "aria-brailleroledescription",
4695
4319
  "inherited": true
@@ -4775,7 +4399,7 @@
4775
4399
  "inherited": true
4776
4400
  }
4777
4401
  ],
4778
- "prohibitedProperties": ["aria-label", "aria-labelledby"]
4402
+ "prohibitedProperties": ["aria-braillelabel", "aria-label", "aria-labelledby"]
4779
4403
  },
4780
4404
  {
4781
4405
  "name": "feed",
@@ -5121,7 +4745,7 @@
5121
4745
  },
5122
4746
  {
5123
4747
  "name": "generic",
5124
- "description": "A nameless container element that has no semantic meaning on its own.\n\nThe generic role is intended for use as the implicit role of generic elements in host languages (such as HTML div or span), so is primarily for implementors of user agents. Authors SHOULD NOT use this role in content. Authors MAY use presentation or none to remove implicit accessibility semantics, or a semantic container role such as group to semantically group descendants in a named container.\n\nLike an element with role presentation, an element with role generic can provide a limited number of accessible states and properties for its descendants, such as aria-live attributes. However, unlike elements with role presentation, generic elements are exposed in accessibility APIs so that assistive technologies can gather certain properties such as layout and bounds.",
4748
+ "description": "A nameless container element that has no semantic meaning on its own.\n\nThe generic role is intended for use as the implicit role of generic elements in host languages (such as HTML div or span), so is primarily for implementors of user agents. Authors SHOULD NOT use this role in content. Authors MAY use presentation or none to remove implicit accessibility semantics, or a semantic container role such as group to semantically group descendants in a named container.\n\nLike an element with role presentation, an element with role generic can provide a limited number of accessible states and properties for its descendants, such as aria-live attributes.\n\nHowever, unlike elements with role presentation, user agents expose generic elements in accessibility APIs when permitted accessibility attributes have been specified. User agents MAY otherwise ignore generic elements if such permitted attributes have not been specified.",
5125
4749
  "generalization": ["structure"],
5126
4750
  "requiredContextRole": [],
5127
4751
  "requiredOwnedElements": [],
@@ -5134,10 +4758,6 @@
5134
4758
  "name": "aria-atomic",
5135
4759
  "inherited": true
5136
4760
  },
5137
- {
5138
- "name": "aria-braillelabel",
5139
- "inherited": true
5140
- },
5141
4761
  {
5142
4762
  "name": "aria-busy",
5143
4763
  "inherited": true
@@ -5216,6 +4836,7 @@
5216
4836
  }
5217
4837
  ],
5218
4838
  "prohibitedProperties": [
4839
+ "aria-braillelabel",
5219
4840
  "aria-brailleroledescription",
5220
4841
  "aria-label",
5221
4842
  "aria-labelledby",
@@ -5224,7 +4845,7 @@
5224
4845
  },
5225
4846
  {
5226
4847
  "name": "grid",
5227
- "description": "A composite widget containing a collection of one or more rows with one or more cells where some or all cells in the grid are focusable by using methods of two-dimensional navigation, such as directional arrow keys.\n\nThe grid role does not imply a specific visual, e.g., tabular, presentation. It describes relationships among elements. It can be used for purposes as simple as grouping a collection of checkboxes or navigation links or as complex as creating a full-featured spreadsheet application.\n\nThe cell elements of a grid have role gridcell. Authors MAY designate a cell as a row or column header by using either the rowheader or columnheader role in lieu of the gridcell role. Authors MUST ensure elements with role gridcell, columnheader, or rowheader are owned by elements with role row, which are in turn owned by an element with role rowgroup, or grid.\n\nTo be keyboard accessible, authors SHOULD manage focus of descendants of a grid as described in Managing Focus. When a user is navigating the grid content with a keyboard, authors SHOULD set focus as follows:\n\nAuthors SHOULD provide a mechanism for changing to an interaction or edit mode that allows users to navigate and interact with content contained inside a focusable cell if that focusable cell contains any of the following:\n\nFor example, if a cell in a spreadsheet contains a combobox or editable text, the Enter key might be used to activate a cell interaction or editing mode when that cell has focus so the directional arrow keys can be used to operate the contained combobox or textbox. Depending on the implementation, pressing Enter again, Tab, Escape, or another key might switch the application back to the grid navigation mode.\n\nAuthors MAY use a gridcell to display the result of a formula, which could be editable by the user. In a spreadsheet application, for example, a gridcell might show a value calculated from a formula until the user activates the gridcell for editing when a textbox appears in the gridcell containing the formula in an editable state.\n\nIf aria-readonly is set on an element with role grid, user agents MUST propagate the value to all gridcell elements owned by the grid and expose the value in the accessibility API. An author MAY override the propagated value of aria-readonly for an individual gridcell element.\n\nIn a grid that provides cell content editing functions, if the content of a focusable gridcell element is not editable, authors MAY set aria-readonly to true on the gridcell element. However, the value of aria-readonly, whether specified for a grid or individual cells, only indicates whether the content contained in cells is editable. It does not represent availability of functions for navigating or manipulating the grid itself.\n\nAn unspecified value for aria-readonly does not imply that a grid or a gridcell contains editable content. For example, if a grid presents a collection of elements that are not editable, such as a collection of link elements representing dates in a datepicker, it is not necessary for the author to specify a value for aria-readonly.\n\nAuthors MAY indicate that a focusable gridcell is selectable as the object of an action with the aria-selected attribute. If the grid allows multiple gridcells to be selected, the author SHOULD set aria-multiselectable to true on the element with role grid.\n\nSince WAI-ARIA can augment an element of the host language, a grid can reuse the elements and attributes of a native table, such as an HTML table element. For example, if an author applies the grid role to an HTML table element, the author does not need to apply the row and gridcell roles to the descendant HTML tr and td elements because the user agent will automatically make the appropriate translations. When the author is reusing a native host language table element and needs a gridcell element to span multiple rows or columns, the author SHOULD apply the appropriate host language attributes instead of WAI-ARIA aria-rowspan or aria-colspan properties.\n\nSee the WAI-ARIA Authoring Practices for additional details on implementing grid design patterns.",
4848
+ "description": "A composite widget containing a collection of one or more rows with one or more cells where some or all cells in the grid are focusable by using methods of two-dimensional navigation, such as directional arrow keys.\n\nThe grid role does not imply a specific visual, e.g., tabular, presentation. It describes relationships among elements. It can be used for purposes as simple as grouping a collection of checkboxes or navigation links or as complex as creating a full-featured spreadsheet application.\n\nThe cell elements of a grid have role gridcell. Authors MAY designate a cell as a row or column header by using either the rowheader or columnheader role in lieu of the gridcell role. Authors MUST ensure elements with role gridcell, columnheader, or rowheader are accessibility children of elements with role row, which are in turn are accessibility children of an element with role rowgroup, or grid.\n\nTo be keyboard accessible, authors SHOULD manage focus of descendants of a grid as described in Managing Focus. When a user is navigating the grid content with a keyboard, authors SHOULD set focus as follows:\n\nAuthors SHOULD provide a mechanism for changing to an interaction or edit mode that allows users to navigate and interact with content contained inside a focusable cell if that focusable cell contains any of the following:\n\nFor example, if a cell in a spreadsheet contains a combobox or editable text, the Enter key might be used to activate a cell interaction or editing mode when that cell has focus so the directional arrow keys can be used to operate the contained combobox or textbox. Depending on the implementation, pressing Enter again, Tab, Escape, or another key might switch the application back to the grid navigation mode.\n\nAuthors MAY use a gridcell to display the result of a formula, which could be editable by the user. In a spreadsheet application, for example, a gridcell might show a value calculated from a formula until the user activates the gridcell for editing when a textbox appears in the gridcell containing the formula in an editable state.\n\nIf aria-readonly is set on an element with role grid, user agents MUST propagate the value to all gridcell elements that are accessibility descendants of that grid and expose the value in the accessibility API. An author MAY override the propagated value of aria-readonly for an individual gridcell element.\n\nIn a grid that provides cell content editing functions, if the content of a focusable gridcell element is not editable, authors MAY set aria-readonly to true on the gridcell element. However, the value of aria-readonly, whether specified for a grid or individual cells, only indicates whether the content contained in cells is editable. It does not represent availability of functions for navigating or manipulating the grid itself.\n\nAn unspecified value for aria-readonly does not imply that a grid or a gridcell contains editable content. For example, if a grid presents a collection of elements that are not editable, such as a collection of link elements representing dates in a datepicker, it is not necessary for the author to specify a value for aria-readonly.\n\nAuthors MAY indicate that a focusable gridcell is selectable as the object of an action with the aria-selected attribute. If the grid allows multiple gridcells to be selected, the author SHOULD set aria-multiselectable to true on the element with role grid.\n\nSince WAI-ARIA can augment an element of the host language, a grid can reuse the elements and attributes of a native table, such as an HTML table element. For example, if an author applies the grid role to an HTML table element, the author does not need to apply the row and gridcell roles to the descendant HTML tr and td elements because the user agent will automatically make the appropriate translations. When the author is reusing a native host language table element and needs a gridcell element to span multiple rows or columns, the author SHOULD apply the appropriate host language attributes instead of WAI-ARIA aria-rowspan or aria-colspan properties.\n\nSee the WAI-ARIA Authoring Practices for additional details on implementing grid design patterns.",
5228
4849
  "generalization": ["composite", "table"],
5229
4850
  "requiredContextRole": [],
5230
4851
  "requiredOwnedElements": ["caption", "row", "rowgroup > row"],
@@ -5355,7 +4976,7 @@
5355
4976
  },
5356
4977
  {
5357
4978
  "name": "gridcell",
5358
- "description": "A cell in a grid or treegrid.\n\nA gridcell can be focusable, editable, and selectable. A gridcell can have relationships such as aria-controls to address the application of functional relationships.\n\nIf an author intends a gridcell to have a row header, column header, or both, and if the relevant headers cannot be determined from the DOM structure, authors SHOULD explicitly indicate which header cells are relevant to the gridcell by applying aria-describedby on the gridcell and referencing elements with role rowheader or columnheader.\n\nIn a treegrid, authors MAY define a gridcell as expandable by using the aria-expanded attribute. If the aria-expanded attribute is provided, it applies only to the individual cell. It is not a proxy for the container row, which also can be expanded. The main use case for providing this attribute on a gridcell is pivot table behavior.\n\nAuthors MUST ensure elements with role gridcell are contained in, or owned by, an element with the role row.",
4979
+ "description": "A cell in a grid or treegrid.\n\nA gridcell can be focusable, editable, and selectable. A gridcell can have relationships such as aria-controls to address the application of functional relationships.\n\nIf an author intends a gridcell to have a row header, column header, or both, and if the relevant headers cannot be determined from the DOM structure, authors SHOULD explicitly indicate which header cells are relevant to the gridcell by applying aria-describedby on the gridcell and referencing elements with role rowheader or columnheader.\n\nIn a treegrid, authors MAY define a gridcell as expandable by using the aria-expanded attribute. If the aria-expanded attribute is provided, it applies only to the individual cell. It is not a proxy for the container row, which also can be expanded. The main use case for providing this attribute on a gridcell is pivot table behavior.\n\nAuthors MUST ensure elements with role gridcell are accessibility children of an element with the role row.",
5359
4980
  "generalization": ["cell", "widget"],
5360
4981
  "requiredContextRole": ["row"],
5361
4982
  "requiredOwnedElements": [],
@@ -5984,10 +5605,6 @@
5984
5605
  "name": "aria-atomic",
5985
5606
  "inherited": true
5986
5607
  },
5987
- {
5988
- "name": "aria-braillelabel",
5989
- "inherited": true
5990
- },
5991
5608
  {
5992
5609
  "name": "aria-brailleroledescription",
5993
5610
  "inherited": true
@@ -6073,7 +5690,7 @@
6073
5690
  "inherited": true
6074
5691
  }
6075
5692
  ],
6076
- "prohibitedProperties": ["aria-label", "aria-labelledby"]
5693
+ "prohibitedProperties": ["aria-braillelabel", "aria-label", "aria-labelledby"]
6077
5694
  },
6078
5695
  {
6079
5696
  "name": "landmark",
@@ -6548,7 +6165,7 @@
6548
6165
  },
6549
6166
  {
6550
6167
  "name": "listitem",
6551
- "description": "A single item in a list or directory.\n\nAuthors MUST ensure elements whose role is listitem are contained in, or owned by, an element whose role is list.",
6168
+ "description": "A single item in a list or directory.\n\nAuthors MUST ensure elements whose role is listitem are accessibility children of an element whose role is list.",
6552
6169
  "generalization": ["section"],
6553
6170
  "requiredContextRole": ["directory", "list"],
6554
6171
  "requiredOwnedElements": [],
@@ -6909,10 +6526,6 @@
6909
6526
  "name": "aria-atomic",
6910
6527
  "inherited": true
6911
6528
  },
6912
- {
6913
- "name": "aria-braillelabel",
6914
- "inherited": true
6915
- },
6916
6529
  {
6917
6530
  "name": "aria-brailleroledescription",
6918
6531
  "inherited": true
@@ -6998,7 +6611,7 @@
6998
6611
  "inherited": true
6999
6612
  }
7000
6613
  ],
7001
- "prohibitedProperties": ["aria-label", "aria-labelledby"]
6614
+ "prohibitedProperties": ["aria-braillelabel", "aria-label", "aria-labelledby"]
7002
6615
  },
7003
6616
  {
7004
6617
  "name": "marquee",
@@ -7488,7 +7101,7 @@
7488
7101
  },
7489
7102
  {
7490
7103
  "name": "menuitem",
7491
- "description": "An option in a set of choices contained by a menu or menubar.\n\nAuthors MUST ensure elements with role menuitem are contained in, or owned by, an element with role menu or an element with role group that is contained in, or owned by, an element with role menu.\n\nAuthors MAY disable a menu item with the aria-disabled attribute. If the menu item has its aria-haspopup attribute set to true, it indicates that the menu item can be used to launch a sub-level menu, and authors SHOULD display a new sub-level menu when the menu item is activated.\n\nIn order to identify that they are related widgets, authors MUST ensure that menu items are owned by an element with role menu or menubar. Authors MAY separate menu items into sets by use of a separator or an element with an equivalent role from the native markup language.",
7104
+ "description": "An option in a set of choices contained by a menu or menubar.\n\nAuthors MUST ensure elements with role menuitem are accessibility children of an element with role menu or an element with role group that is an accessibility child of an element with role menu.\n\nAuthors MAY disable a menu item with the aria-disabled attribute. If the menu item has its aria-haspopup attribute set to true, it indicates that the menu item can be used to launch a sub-level menu, and authors SHOULD display a new sub-level menu when the menu item is activated.\n\nIn order to identify that they are related widgets, authors MUST ensure that menu items are accessibility descendants of an element with role menu or menubar. Authors MAY separate menu items into sets by use of a separator or an element with an equivalent role from the native markup language.",
7492
7105
  "generalization": ["command"],
7493
7106
  "requiredContextRole": ["menu", "menubar", "menu > group", "menubar > group"],
7494
7107
  "requiredOwnedElements": [],
@@ -7607,7 +7220,7 @@
7607
7220
  },
7608
7221
  {
7609
7222
  "name": "menuitemcheckbox",
7610
- "description": "A menuitem with a checkable state whose possible values are true, false, or mixed.\n\nAuthors MUST ensure elements with role menuitemcheckbox are contained in, or owned by, an element with role menu or an element with role group that is contained in, or owned by, an element with role menu.\n\nThe aria-checked attribute of a menuitemcheckbox indicates whether the menu item is checked (true), unchecked (false), or represents a sub-level menu of other menu items that have a mixture of checked and unchecked values (mixed).\n\nIn order to identify that they are related widgets, authors MUST ensure that menu item checkboxes are owned by an element with role menu or menubar. Authors MAY separate menu items into sets by use of a separator or an element with an equivalent role from the native markup language.",
7223
+ "description": "A menuitem with a checkable state whose possible values are true, false, or mixed.\n\nAuthors MUST ensure elements with role menuitemcheckbox are accessibility children of an element with role menu or an element with role group that is the accessibility child of an element with role menu.\n\nThe aria-checked attribute of a menuitemcheckbox indicates whether the menu item is checked (true), unchecked (false), or represents a sub-level menu of other menu items that have a mixture of checked and unchecked values (mixed).\n\nIn order to identify that they are related widgets, authors MUST ensure that menu item checkboxes are the accessibility descendants of an element with role menu or menubar. Authors MAY separate menu items into sets by use of a separator or an element with an equivalent role from the native markup language.",
7611
7224
  "generalization": ["menuitem"],
7612
7225
  "requiredContextRole": ["menu", "menubar", "menu > group", "menubar > group"],
7613
7226
  "requiredOwnedElements": [],
@@ -7736,7 +7349,7 @@
7736
7349
  },
7737
7350
  {
7738
7351
  "name": "menuitemradio",
7739
- "description": "A checkable menuitem in a set of elements with the same role, only one of which can be checked at a time.\n\nAuthors MUST ensure elements with role menuitemradio are contained in, or owned by, an element with role menu or an element with role group that is contained in, or owned by, an element with role menu.\n\nAuthors SHOULD enforce that only one menuitemradio in a group can be checked at the same time. When one item in the group is checked, the previously checked item becomes unchecked (its aria-checked attribute becomes false).\n\nIn order to identify that they are related widgets, authors MUST ensure that menu item radios are owned by an element with role menu or menubar, or by a role group which itself is owned by an element with role menu or menubar.\n\nIf a menu or menubar contains more than one group of menuitemradio elements, or if the menu contains one group and other, unrelated menu items, authors SHOULD contain each set of related menuitemradio elements in an element using the group role. Authors MAY also delimit the group from other menu items with an element using the separator role, or an element with an equivalent role from the native markup language.",
7352
+ "description": "A checkable menuitem in a set of elements with the same role, only one of which can be checked at a time.\n\nAuthors MUST ensure elements with role menuitemradio are accessibility children of an element with role menu or of an element with role group that is the accessibility child of an element with role menu.\n\nAuthors SHOULD enforce that only one menuitemradio in a group can be checked at the same time. When one item in the group is checked, the previously checked item becomes unchecked (its aria-checked attribute becomes false).\n\nIn order to identify that they are related widgets, authors MUST ensure that menu item radios are accessibility descendants of an element with role menu or menubar.\n\nIf a menu or menubar contains more than one group of menuitemradio elements, or if the menu contains one group and other, unrelated menu items, authors SHOULD contain each set of related menuitemradio elements in an element using the group role. Authors MAY also delimit the group from other menu items with an element using the separator role, or an element with an equivalent role from the native markup language.",
7740
7353
  "generalization": ["menuitem"],
7741
7354
  "requiredContextRole": ["menu", "menubar", "menu > group", "menubar > group"],
7742
7355
  "requiredOwnedElements": [],
@@ -8110,7 +7723,7 @@
8110
7723
  },
8111
7724
  {
8112
7725
  "name": "none",
8113
- "description": "An element whose implicit native role semantics will not be mapped to the accessibility API. See synonym presentation.\n\nIn ARIA 1.1, the working group introduced none as a synonym to the presentation role, due to author confusion surrounding the intended meaning of the word \"presentation\" or \"presentational.\" Many individuals erroneously consider role=\"presentation\" to be synonymous with aria-hidden=\"true\", and we believe role=\"none\" conveys the actual meaning more unambiguously.\n\nThe intended use is when an element is used to change the look of the page but does not have all the functional, interactive, or structural relevance implied by the element type, or can be used to provide for an accessible fallback in older browsers that do not support WAI-ARIA.\n\nExample use cases:\n\nFor any element with a role of none/presentation and which is not focusable, the user agent MUST NOT expose the implicit native semantics of the element (the role and its states and properties) to accessibility APIs. However, the user agent MUST expose content and descendant elements that do not have an explicit or inherited role of none/presentation. Thus, the none/presentation role causes a given element to be treated as having no role or to be removed from the accessibility tree, but does not cause the content contained within the element to be removed from the accessibility tree.\n\nFor example, the following two markup snippets will be exposed similarly to an accessibility API.\n\nIn HTML, the <img> element is treated as a single entity regardless of the type of image file. Consequently, using role=\"none\" or role=\"presentation\" on an HTML img is equivalent to using aria-hidden=\"true\". In order to make the image contents accessible, authors can embed the object using an <object> or <iframe> element, or use inline SVG code, and follow the accessibility guidelines for the image content.\n\nAuthors SHOULD NOT provide meaningful alternative text (for example, use alt=\"\" in HTML) when the none/presentation role is applied to an image.\n\nIn the following code sample, the containing img and is appropriately labeled by the caption paragraph. In this example the img element can be marked as none/presentation because the role and the text alternatives are provided by the containing element.\n\nIn the following code sample, because the anchor (HTML a element) is acting as the treeitem, the list item (HTML li element) is assigned an explicit WAI-ARIA role of none/presentation to override the user agent's implicit native semantics for list items.\n\nThe none/presentation role is used on an element that has implicit native semantics, meaning that there is a default accessibility API role for the element. Some elements are only complete when additional descendant elements are provided. For example, in HTML, table elements (matching the table role) require tr descendants (which have an implicit row role), which in turn require th or td children (the columnheader or rowheader and cell roles, respectively). Similarly, lists require list item children. The descendant elements that complete the semantics of an element are described in WAI-ARIA as Allowed Accessibility Child Roles.\n\nWhen an explicit or inherited role of none/presentation is applied to an element with the implicit semantic of a WAI-ARIA role that has Allowed Accessibility Child Roles, in addition to the element with the explicit role of none/presentation, the user agent MUST apply an inherited role of none to any owned elements that do not have an explicit role defined. Also, when an explicit or inherited role of none/presentation is applied to a host language element which has specifically allowed children as defined by the host language specification, in addition to the element with the explicit role of none/presentation, the user agent MUST apply an inherited role of none to any specifically allowed children that do not have an explicit role defined.\n\nFor any element with an explicit or inherited role of none/presentation and which is not focusable, user agents MUST ignore role-specific WAI-ARIA states and properties for that element. For example, in HTML, a ul or ol element with a role of none/presentation will have the implicit native semantics of its li elements removed because the list role to which the ul or ol corresponds has an Allowed Accessibility Child Role of listitem. Likewise, the implicit native semantics of an HTML table element's thead/tbody/tfoot/tr/th/td descendants will also be removed, because the HTML specification indicates that these are required structural descendants of the table element.\n\nOnly the implicit native semantics of elements that correspond to WAI-ARIA Allowed Accessibility Child Roles are removed. All other content remains intact, including nested tables or lists, unless those elements also have an explicit role of none/presentation specified.\n\nFor example, according to an accessibility API, the following markup elements might have identical or very similar role semantics (generic or none role) and identical content.\n\nThere are other WAI-ARIA roles with specific allowed children for which this situation is applicable (e.g., feeds and listboxes), but tables and lists are the most common real-world cases in which the none/presentation inheritance is likely to apply.\n\nFor any element with an explicit or inherited role of none/presentation, user agents MUST apply an inherited role of none to all host-language-specific labeling elements for the presentational element. For example, a table element with a role of none/presentation will have the implicit native semantics of its caption element removed, because the caption is merely a label for the presentational table.\n\nInformation about resolving conflicts in the none/presentation role has been moved to Handling Author Errors",
7726
+ "description": "An element whose implicit native role semantics will not be mapped to the accessibility API. See synonym presentation.\n\nIn ARIA 1.1, the working group introduced none as a synonym to the presentation role, due to author confusion surrounding the intended meaning of the word \"presentation\" or \"presentational.\" Many individuals erroneously consider role=\"presentation\" to be synonymous with aria-hidden=\"true\", and we believe role=\"none\" conveys the actual meaning more unambiguously.\n\nThe intended use is when an element is used to change the look of the page but does not have all the functional, interactive, or structural relevance implied by the element type, or can be used to provide for an accessible fallback in older browsers that do not support WAI-ARIA.\n\nExample use cases:\n\nFor any element with a role of none/presentation and which is not focusable, the user agent MUST NOT expose the implicit native semantics of the element (the role and its states and properties) to accessibility APIs. However, the user agent MUST expose content and descendant elements that do not have an explicit or inherited role of none/presentation. Thus, the none/presentation role causes a given element to be treated as having no role or to be removed from the accessibility tree, but does not cause the content contained within the element to be removed from the accessibility tree.\n\nFor example, the following two markup snippets will be exposed similarly to an accessibility API.\n\nIn HTML, the <img> element is treated as a single entity regardless of the type of image file. Consequently, using role=\"none\" or role=\"presentation\" on an HTML img is equivalent to using aria-hidden=\"true\". In order to make the image contents accessible, authors can embed the object using an <object> or <iframe> element, or use inline SVG code, and follow the accessibility guidelines for the image content.\n\nAuthors SHOULD NOT provide a meaningful text alternative (for example, use alt=\"\" in HTML) when the none/presentation role is applied to an image.\n\nIn the following code sample, the containing img and is appropriately labeled by the caption paragraph. In this example the img element can be marked as none/presentation because the role and the text alternatives are provided by the containing element.\n\nIn the following code sample, because the anchor (HTML a element) is acting as the treeitem, the list item (HTML li element) is assigned an explicit WAI-ARIA role of none/presentation to override the user agent's implicit native semantics for list items.\n\nThe none/presentation role is used on an element that has implicit native semantics, meaning that there is a default accessibility API role for the element. Some elements are only complete when additional descendant elements are provided. For example, in HTML, table elements (matching the table role) require tr descendants (which have an implicit row role), which in turn require th or td children (the columnheader or rowheader and cell roles, respectively). Similarly, lists require list item children. The descendant elements that complete the semantics of an element are described in WAI-ARIA as Allowed Accessibility Child Roles.\n\nWhen an explicit or inherited role of none/presentation is applied to an element with the implicit semantic of a WAI-ARIA role that has Allowed Accessibility Child Roles, in addition to the element with the explicit role of none/presentation, the user agent MUST apply an inherited role of none to any accessibility descendants that do not have an explicit role defined. Also, when an explicit or inherited role of none/presentation is applied to a host language element which has specifically allowed children as defined by the host language specification, in addition to the element with the explicit role of none/presentation, the user agent MUST apply an inherited role of none to any specifically allowed children that do not have an explicit role defined.\n\nFor any element with an explicit or inherited role of none/presentation and which is not focusable, user agents MUST ignore role-specific WAI-ARIA states and properties for that element. For example, in HTML, a ul or ol element with a role of none/presentation will have the implicit native semantics of its li elements removed because the list role to which the ul or ol corresponds has an Allowed Accessibility Child Role of listitem. Likewise, the implicit native semantics of an HTML table element's thead/tbody/tfoot/tr/th/td descendants will also be removed, because the HTML specification indicates that these are required structural descendants of the table element.\n\nOnly the implicit native semantics of elements that correspond to WAI-ARIA Allowed Accessibility Child Roles are removed. All other content remains intact, including nested tables or lists, unless those elements also have an explicit role of none/presentation specified.\n\nFor example, according to an accessibility API, the following markup elements might have identical or very similar role semantics (generic or none role) and identical content.\n\nThere are other WAI-ARIA roles with specific allowed children for which this situation is applicable (e.g., feeds and listboxes), but tables and lists are the most common real-world cases in which the none/presentation inheritance is likely to apply.\n\nFor any element with an explicit or inherited role of none/presentation, user agents MUST apply an inherited role of none to all host-language-specific labeling elements for the presentational element. For example, a table element with a role of none/presentation will have the implicit native semantics of its caption element removed, because the caption is merely a label for the presentational table.\n\nInformation about resolving conflicts in the none/presentation role has been moved to Handling Author Errors",
8114
7727
  "generalization": ["structure"],
8115
7728
  "requiredContextRole": [],
8116
7729
  "requiredOwnedElements": [],
@@ -8123,10 +7736,6 @@
8123
7736
  "name": "aria-atomic",
8124
7737
  "inherited": true
8125
7738
  },
8126
- {
8127
- "name": "aria-braillelabel",
8128
- "inherited": true
8129
- },
8130
7739
  {
8131
7740
  "name": "aria-brailleroledescription",
8132
7741
  "inherited": true
@@ -8212,7 +7821,7 @@
8212
7821
  "inherited": true
8213
7822
  }
8214
7823
  ],
8215
- "prohibitedProperties": ["aria-label", "aria-labelledby"]
7824
+ "prohibitedProperties": ["aria-braillelabel", "aria-label", "aria-labelledby"]
8216
7825
  },
8217
7826
  {
8218
7827
  "name": "note",
@@ -8330,7 +7939,7 @@
8330
7939
  },
8331
7940
  {
8332
7941
  "name": "option",
8333
- "description": "An item in a listbox.\n\nAuthors MUST ensure elements with role option are contained in, or owned by, an element with role listbox or an element with role group that is contained in, or owned by, an element with role listbox. Options not associated with a listbox might not be correctly mapped to an accessibility API.\n\nIn certain conditions, a user agent MAY provide an implicit value for aria-selected for each option in a listbox, and if it does, the user agent MUST ensure the following conditions are met before providing an implicit value:\n\nIf a user agent provides an implicit aria-selected value for an option, the value SHOULD be true if the option has DOM focus or the listbox has DOM focus and the option is referenced by aria-activedescendant. Otherwise, if a user agent provides an implicit aria-selected value for an option, the value SHOULD be false.\n\nAuthors SHOULD indicate selection for option elements using one of the following:\n\nAuthors SHOULD NOT specify both aria-selected and aria-checked on option elements contained by the same listbox except in the extremely rare circumstances where all the following conditions are met:",
7942
+ "description": "An item in a listbox.\n\nAuthors MUST ensure elements with role option are accessibility children of an element with role listbox or of an element with role group that is the accessibility child of an element with role listbox. Options not associated with a listbox might not be correctly mapped to an accessibility API.\n\nIn certain conditions, a user agent MAY provide an implicit value for aria-selected for each option in a listbox, and if it does, the user agent MUST ensure the following conditions are met before providing an implicit value:\n\nIf a user agent provides an implicit aria-selected value for an option, the value SHOULD be true if the option has DOM focus or the listbox has DOM focus and the option is referenced by aria-activedescendant. Otherwise, if a user agent provides an implicit aria-selected value for an option, the value SHOULD be false.\n\nAuthors SHOULD indicate selection for option elements using one of the following:\n\nAuthors SHOULD NOT specify both aria-selected and aria-checked on option elements contained by the same listbox except in the extremely rare circumstances where all the following conditions are met:",
8334
7943
  "generalization": ["input"],
8335
7944
  "requiredContextRole": ["listbox", "listbox > group"],
8336
7945
  "requiredOwnedElements": [],
@@ -8469,10 +8078,6 @@
8469
8078
  "name": "aria-atomic",
8470
8079
  "inherited": true
8471
8080
  },
8472
- {
8473
- "name": "aria-braillelabel",
8474
- "inherited": true
8475
- },
8476
8081
  {
8477
8082
  "name": "aria-brailleroledescription",
8478
8083
  "inherited": true
@@ -8558,7 +8163,7 @@
8558
8163
  "inherited": true
8559
8164
  }
8560
8165
  ],
8561
- "prohibitedProperties": ["aria-label", "aria-labelledby"]
8166
+ "prohibitedProperties": ["aria-braillelabel", "aria-label", "aria-labelledby"]
8562
8167
  },
8563
8168
  {
8564
8169
  "name": "presentation",
@@ -8575,10 +8180,6 @@
8575
8180
  "name": "aria-atomic",
8576
8181
  "inherited": true
8577
8182
  },
8578
- {
8579
- "name": "aria-braillelabel",
8580
- "inherited": true
8581
- },
8582
8183
  {
8583
8184
  "name": "aria-brailleroledescription",
8584
8185
  "inherited": true
@@ -8664,7 +8265,7 @@
8664
8265
  "inherited": true
8665
8266
  }
8666
8267
  ],
8667
- "prohibitedProperties": ["aria-label", "aria-labelledby"]
8268
+ "prohibitedProperties": ["aria-braillelabel", "aria-label", "aria-labelledby"]
8668
8269
  },
8669
8270
  {
8670
8271
  "name": "progressbar",
@@ -9378,16 +8979,9 @@
9378
8979
  },
9379
8980
  {
9380
8981
  "name": "row",
9381
- "description": "A row of cells in a tabular container.\n\nRows contain cell or gridcell elements, and thus serve to organize a table, grid, or treegrid.\n\nWhile the row role can be used in a table, grid, or treegrid, the semantics of aria-expanded, aria-posinset, aria-setsize, and aria-level are only applicable to the hierarchical structure of an interactive tree grid. Therefore, authors MUST NOT apply aria-expanded, aria-posinset, aria-setsize, and aria-level to a row that descends from a table or grid, and user agents SHOULD NOT expose any of these four properties to assistive technologies unless the row descends from a treegrid.\n\nAuthors MUST ensure elements with role row are contained in, or owned by, an element with the role table, grid, rowgroup, or treegrid.\n\nWhile aria-disabled is currently supported on row, in a future version the working group plans to prohibit its on elements with role row except when the element is in the context of a grid or treegrid.",
8982
+ "description": "A row of cells in a tabular container.\n\nRows contain cell or gridcell elements, and thus serve to organize a table, grid, or treegrid.\n\nWhile the row role can be used in a table, grid, or treegrid, the semantics of aria-expanded, aria-posinset, aria-setsize, and aria-level are only applicable to the hierarchical structure of an interactive tree grid. Therefore, authors MUST NOT apply aria-expanded, aria-posinset, aria-setsize, and aria-level to a row that descends from a table or grid, and user agents SHOULD NOT expose any of these four properties to assistive technologies unless the row descends from a treegrid.\n\nAuthors MUST ensure elements with role row are accessibility children of an element with the role table, grid, rowgroup, or treegrid.\n\nWhile aria-disabled is currently supported on row, in a future version the working group plans to prohibit its on elements with role row except when the element is in the context of a grid or treegrid.",
9382
8983
  "generalization": ["group", "widget"],
9383
- "requiredContextRole": [
9384
- "grid",
9385
- "table",
9386
- "treegrid",
9387
- "grid > rowgroup",
9388
- "table > rowgroup",
9389
- "treegrid > rowgroup"
9390
- ],
8984
+ "requiredContextRole": ["grid", "table", "treegrid", "rowgroup"],
9391
8985
  "requiredOwnedElements": ["cell", "columnheader", "gridcell", "rowheader"],
9392
8986
  "accessibleNameRequired": false,
9393
8987
  "accessibleNameFromAuthor": true,
@@ -9526,7 +9120,7 @@
9526
9120
  },
9527
9121
  {
9528
9122
  "name": "rowgroup",
9529
- "description": "A structure containing one or more row elements in a tabular container.\n\nThe rowgroup role establishes a relationship between owned row elements. It is a structural equivalent to the thead, tfoot, and tbody elements in an HTML table element.\n\nAuthors MUST ensure elements with role rowgroup are contained in, or owned by, an element with the role grid, table, or treegrid.\n\nThe rowgroup role exists, in part, to support role symmetry in HTML, and allows for the propagation of presentation inheritance on HTML table elements with an explicit presentation role applied.\n\nThis role does not differentiate between types of row groups (e.g., thead vs. tbody), but an issue has been raised for WAI-ARIA 2.0.",
9123
+ "description": "A structure containing one or more row elements in a tabular container.\n\nThe rowgroup role establishes a relationship with its accessibility children of role row. It is a structural equivalent to the thead, tfoot, and tbody elements in an HTML table element.\n\nAuthors MUST ensure elements with role rowgroup are accessibility children of an element with the role grid, table, or treegrid.\n\nThe rowgroup role exists, in part, to support role symmetry in HTML, and allows for the propagation of presentation inheritance on HTML table elements with an explicit presentation role applied.\n\nThis role does not differentiate between types of row groups (e.g., thead vs. tbody), but an issue has been raised for WAI-ARIA 2.0.",
9530
9124
  "generalization": ["structure"],
9531
9125
  "requiredContextRole": ["grid", "table", "treegrid"],
9532
9126
  "requiredOwnedElements": ["row"],
@@ -9640,7 +9234,7 @@
9640
9234
  },
9641
9235
  {
9642
9236
  "name": "rowheader",
9643
- "description": "A cell containing header information for a row.\n\nThe rowheader role can be used to identify a cell as a header for a row in a table, grid, or treegrid. The rowheader establishes a relationship between it and all cells in the corresponding row. It is a structural equivalent to setting scope=\"row\" on an HTML th element.\n\nAuthors MUST ensure elements with role rowheader are contained in, or owned by, an element with the role row.\n\nApplying the aria-selected state on a rowheader MUST NOT cause the user agent to automatically propagate the aria-selected state to all the cells in the corresponding row. An author MAY choose to propagate selection in this manner depending on the specific application.\n\nWhile the rowheader role can be used in both interactive grids and non-interactive tables, the use of aria-expanded, aria-readonly, and aria-required is only applicable to interactive elements. Therefore, authors SHOULD NOT use aria-expanded, aria-readonly, or aria-required in a rowheader that descends from a table, and user agents SHOULD NOT expose these properties to assistive technologies unless the rowheader descends from a grid or treegrid.\n\nWhile aria-disabled is currently supported on rowheader, in a future version the working group plans to prohibit its use on elements with role rowheader except when the element is in the context of a grid or treegrid.",
9237
+ "description": "A cell containing header information for a row.\n\nThe rowheader role can be used to identify a cell as a header for a row in a table, grid, or treegrid. The rowheader establishes a relationship between it and all cells in the corresponding row. It is a structural equivalent to setting scope=\"row\" on an HTML th element.\n\nAuthors MUST ensure elements with role rowheader are accessibility children of an element with the role row.\n\nApplying the aria-selected state on a rowheader MUST NOT cause the user agent to automatically propagate the aria-selected state to all the cells in the corresponding row. An author MAY choose to propagate selection in this manner depending on the specific application.\n\nWhile the rowheader role can be used in both interactive grids and non-interactive tables, the use of aria-expanded, aria-readonly, and aria-required is only applicable to interactive elements. Therefore, authors SHOULD NOT use aria-expanded, aria-readonly, or aria-required in a rowheader that descends from a table, and user agents SHOULD NOT expose these properties to assistive technologies unless the rowheader descends from a grid or treegrid.\n\nWhile aria-disabled is currently supported on rowheader, in a future version the working group plans to prohibit its use on elements with role rowheader except when the element is in the context of a grid or treegrid.",
9644
9238
  "generalization": ["cell", "gridcell", "sectionhead"],
9645
9239
  "requiredContextRole": ["row"],
9646
9240
  "requiredOwnedElements": [],
@@ -10778,7 +10372,7 @@
10778
10372
  },
10779
10373
  {
10780
10374
  "name": "spinbutton",
10781
- "description": "A form of range that expects the user to select from among discrete choices.\n\nA spinbutton typically allows users to change its displayed value by activating increment and decrement buttons that step through a set of allowed values. Some implementations display the value in an text field that allows editing and typing but typically limits input in ways that help prevent invalid values.\n\nAlthough a spinbutton is similar in appearance to many presentations of select, it is advisable to use spinbutton when working with known ranges (especially in the case of large ranges) as opposed to distinct options. For example, a spinbutton representing a range from 1 to 1,000,000 would provide much better performance than a select widget representing the same values.\n\nAuthors MAY create a spinbutton with children or owned elements, but MUST limit those elements to a textbox and/or two buttons. Alternatively, authors MAY apply the spinbutton role to a text input and create sibling buttons to support the increment and decrement functions.\n\nTo be keyboard accessible, authors SHOULD manage focus of descendants for all instances of this role, as described in Managing Focus. When a spinbutton receives focus, authors SHOULD ensure focus is placed on the textbox element if one is present, and on the spinbutton itself otherwise. Authors SHOULD also ensure the up and down arrows on a keyboard perform the increment and decrement functions and that the increment and decrement button elements are NOT included in the primary navigation ring, e.g., the Tab ring in HTML.\n\nAuthors SHOULD set the aria-valuenow attribute when the spinbutton has a value. Authors SHOULD set the aria-valuemin attribute when there is a minimum value, and the aria-valuemax attribute when there is a maximum value.",
10375
+ "description": "A form of range that expects the user to select from among discrete choices.\n\nA spinbutton typically allows users to change its displayed value by activating increment and decrement buttons that step through a set of allowed values. Some implementations display the value in an text field that allows editing and typing but typically limits input in ways that help prevent invalid values.\n\nAlthough a spinbutton is similar in appearance to many presentations of select, it is advisable to use spinbutton when working with known ranges (especially in the case of large ranges) as opposed to distinct options. For example, a spinbutton representing a range from 1 to 1,000,000 would provide much better performance than a select widget representing the same values.\n\nAuthors MAY create a spinbutton with accessibility children, but MUST limit those elements to a textbox and/or two buttons. Alternatively, authors MAY apply the spinbutton role to a text input and create sibling buttons to support the increment and decrement functions.\n\nTo be keyboard accessible, authors SHOULD manage focus of descendants for all instances of this role, as described in Managing Focus. When a spinbutton receives focus, authors SHOULD ensure focus is placed on the textbox element if one is present, and on the spinbutton itself otherwise. Authors SHOULD also ensure the up and down arrows on a keyboard perform the increment and decrement functions and that the increment and decrement button elements are NOT included in the primary navigation ring, e.g., the Tab ring in HTML.\n\nAuthors SHOULD set the aria-valuenow attribute when the spinbutton has a value. Authors SHOULD set the aria-valuemin attribute when there is a minimum value, and the aria-valuemax attribute when there is a maximum value.",
10782
10376
  "generalization": ["composite", "input", "range"],
10783
10377
  "requiredContextRole": [],
10784
10378
  "requiredOwnedElements": [],
@@ -11036,10 +10630,6 @@
11036
10630
  "name": "aria-atomic",
11037
10631
  "inherited": true
11038
10632
  },
11039
- {
11040
- "name": "aria-braillelabel",
11041
- "inherited": true
11042
- },
11043
10633
  {
11044
10634
  "name": "aria-brailleroledescription",
11045
10635
  "inherited": true
@@ -11125,7 +10715,7 @@
11125
10715
  "inherited": true
11126
10716
  }
11127
10717
  ],
11128
- "prohibitedProperties": ["aria-label", "aria-labelledby"]
10718
+ "prohibitedProperties": ["aria-braillelabel", "aria-label", "aria-labelledby"]
11129
10719
  },
11130
10720
  {
11131
10721
  "name": "structure",
@@ -11257,10 +10847,6 @@
11257
10847
  "name": "aria-atomic",
11258
10848
  "inherited": true
11259
10849
  },
11260
- {
11261
- "name": "aria-braillelabel",
11262
- "inherited": true
11263
- },
11264
10850
  {
11265
10851
  "name": "aria-brailleroledescription",
11266
10852
  "inherited": true
@@ -11346,7 +10932,7 @@
11346
10932
  "inherited": true
11347
10933
  }
11348
10934
  ],
11349
- "prohibitedProperties": ["aria-label", "aria-labelledby"]
10935
+ "prohibitedProperties": ["aria-braillelabel", "aria-label", "aria-labelledby"]
11350
10936
  },
11351
10937
  {
11352
10938
  "name": "suggestion",
@@ -11363,10 +10949,6 @@
11363
10949
  "name": "aria-atomic",
11364
10950
  "inherited": true
11365
10951
  },
11366
- {
11367
- "name": "aria-braillelabel",
11368
- "inherited": true
11369
- },
11370
10952
  {
11371
10953
  "name": "aria-brailleroledescription",
11372
10954
  "inherited": true
@@ -11452,7 +11034,7 @@
11452
11034
  "inherited": true
11453
11035
  }
11454
11036
  ],
11455
- "prohibitedProperties": ["aria-label", "aria-labelledby"]
11037
+ "prohibitedProperties": ["aria-braillelabel", "aria-label", "aria-labelledby"]
11456
11038
  },
11457
11039
  {
11458
11040
  "name": "superscript",
@@ -11469,10 +11051,6 @@
11469
11051
  "name": "aria-atomic",
11470
11052
  "inherited": true
11471
11053
  },
11472
- {
11473
- "name": "aria-braillelabel",
11474
- "inherited": true
11475
- },
11476
11054
  {
11477
11055
  "name": "aria-brailleroledescription",
11478
11056
  "inherited": true
@@ -11558,7 +11136,7 @@
11558
11136
  "inherited": true
11559
11137
  }
11560
11138
  ],
11561
- "prohibitedProperties": ["aria-label", "aria-labelledby"]
11139
+ "prohibitedProperties": ["aria-braillelabel", "aria-label", "aria-labelledby"]
11562
11140
  },
11563
11141
  {
11564
11142
  "name": "switch",
@@ -11690,7 +11268,7 @@
11690
11268
  },
11691
11269
  {
11692
11270
  "name": "tab",
11693
- "description": "A grouping label providing a mechanism for selecting the tab content that is to be rendered to the user.\n\nIf a tabpanel or item in a tabpanel has focus, the associated tab is the currently active tab in the tablist, as defined in Managing Focus. tablist elements, which contain a set of associated tab elements, are typically placed near a series of tabpanel elements, usually preceding it. See the WAI-ARIA Authoring Practices for details on implementing a tab set design pattern.\n\nAuthors MUST ensure elements with role tab are contained in, or owned by, an element with the role tablist.\n\nAuthors SHOULD ensure the tabpanel associated with the currently active tab is perceivable to the user.\n\nFor a single-selectable tablist, authors SHOULD hide from all users other tabpanel elements until the user selects the tab associated with that tabpanel. For a multi-selectable tablist, authors SHOULD ensure that the tab for each visible tabpanel has the aria-expanded attribute set to true, and that the tabs associated with the remaining hidden from all users tabpanel elements have their aria-expanded attributes set to false.\n\nAuthors SHOULD ensure that a selected tab has its aria-selected attribute set to true, that inactive tab elements have their aria-selected attribute set to false, and that the currently selected tab provides a visual indication that it is selected.\n\nIn certain conditions, a user agent MAY provide an implicit value for aria-selected for each tab in a tablist, and if it does, the user agent MUST ensure the following conditions are met before providing an implicit value:",
11271
+ "description": "A grouping label providing a mechanism for selecting the tab content that is to be rendered to the user.\n\nIf a tabpanel or item in a tabpanel has focus, the associated tab is the currently active tab in the tablist, as defined in Managing Focus. tablist elements, which contain a set of associated tab elements, are typically placed near a series of tabpanel elements, usually preceding it. See the WAI-ARIA Authoring Practices for details on implementing a tab set design pattern.\n\nAuthors MUST ensure elements with role tab are accessibility children of an element with the role tablist.\n\nAuthors SHOULD ensure the tabpanel associated with the currently active tab is perceivable to the user.\n\nFor a single-selectable tablist, authors SHOULD hide from all users other tabpanel elements until the user selects the tab associated with that tabpanel. For a multi-selectable tablist, authors SHOULD ensure that the tab for each visible tabpanel has the aria-expanded attribute set to true, and that the tabs associated with the remaining hidden from all users tabpanel elements have their aria-expanded attributes set to false.\n\nAuthors SHOULD ensure that a selected tab has its aria-selected attribute set to true, that inactive tab elements have their aria-selected attribute set to false, and that the currently selected tab provides a visual indication that it is selected.\n\nIn certain conditions, a user agent MAY provide an implicit value for aria-selected for each tab in a tablist, and if it does, the user agent MUST ensure the following conditions are met before providing an implicit value:",
11694
11272
  "generalization": ["sectionhead", "widget"],
11695
11273
  "requiredContextRole": ["tablist"],
11696
11274
  "requiredOwnedElements": [],
@@ -12183,10 +11761,6 @@
12183
11761
  "name": "aria-atomic",
12184
11762
  "inherited": true
12185
11763
  },
12186
- {
12187
- "name": "aria-braillelabel",
12188
- "inherited": true
12189
- },
12190
11764
  {
12191
11765
  "name": "aria-brailleroledescription",
12192
11766
  "inherited": true
@@ -12272,7 +11846,7 @@
12272
11846
  "inherited": true
12273
11847
  }
12274
11848
  ],
12275
- "prohibitedProperties": ["aria-label", "aria-labelledby"]
11849
+ "prohibitedProperties": ["aria-braillelabel", "aria-label", "aria-labelledby"]
12276
11850
  },
12277
11851
  {
12278
11852
  "name": "textbox",
@@ -12414,10 +11988,6 @@
12414
11988
  "name": "aria-atomic",
12415
11989
  "inherited": true
12416
11990
  },
12417
- {
12418
- "name": "aria-braillelabel",
12419
- "inherited": true
12420
- },
12421
11991
  {
12422
11992
  "name": "aria-brailleroledescription",
12423
11993
  "inherited": true
@@ -12503,7 +12073,7 @@
12503
12073
  "inherited": true
12504
12074
  }
12505
12075
  ],
12506
- "prohibitedProperties": ["aria-label", "aria-labelledby"]
12076
+ "prohibitedProperties": ["aria-braillelabel", "aria-label", "aria-labelledby"]
12507
12077
  },
12508
12078
  {
12509
12079
  "name": "timer",
@@ -12741,7 +12311,7 @@
12741
12311
  },
12742
12312
  {
12743
12313
  "name": "tooltip",
12744
- "description": "A contextual popup that displays a description for an element.\n\nThe tooltip typically becomes visible, after a short delay, in response to a mouse hover, or after the owning element receives keyboard focus. The use of a WAI-ARIA tooltip is a supplement to the normal tooltip behavior of the user agent.\n\nTypical tooltip delays last from one to five seconds.\n\nAuthors SHOULD ensure that elements with the role tooltip are referenced through the use of aria-describedby before or at the time the tooltip is displayed.",
12314
+ "description": "A contextual popup that displays a description for an element.\n\nThe tooltip typically becomes visible, after a short delay, in response to a mouse hover, or after the accessibility parent receives keyboard focus. The use of a WAI-ARIA tooltip is a supplement to the normal tooltip behavior of the user agent.\n\nTypical tooltip delays last from one to five seconds.\n\nAuthors SHOULD ensure that elements with the role tooltip are referenced through the use of aria-describedby before or at the time the tooltip is displayed.",
12745
12315
  "generalization": ["section"],
12746
12316
  "requiredContextRole": [],
12747
12317
  "requiredOwnedElements": [],
@@ -12978,7 +12548,7 @@
12978
12548
  },
12979
12549
  {
12980
12550
  "name": "treegrid",
12981
- "description": "A grid whose rows can be expanded and collapsed in the same manner as for a tree.\n\nIf aria-readonly is set on an element with role treegrid, user agents MUST propagate the value to all gridcell elements owned by the treegrid and expose the value in the accessibility API. An author MAY override the propagated value of aria-readonly for an individual gridcell element.\n\nWhen the aria-readonly attribute is applied to a focusable gridcell, it indicates whether the content contained in the gridcell is editable. The aria-readonly attribute does not represent availability of functions for navigating or manipulating the treegrid itself.\n\nIn a treegrid that provides content editing functions, if the content of a focusable gridcell element is not editable, authors MAY set aria-readonly to true on the gridcell element. However, if a treegrid presents a collection of elements that do not support aria-readonly, such as a collection of link elements, it is not necessary for the author to specify a value for aria-readonly.\n\nTo be keyboard accessible, authors SHOULD manage focus of descendants for all instances of this role, as described in Managing Focus.",
12551
+ "description": "A grid whose rows can be expanded and collapsed in the same manner as for a tree.\n\nIf aria-readonly is set on an element with role treegrid, user agents MUST propagate the value to all gridcell elements that are accessibility descendants of the treegrid and expose the value in the accessibility API. An author MAY override the propagated value of aria-readonly for an individual gridcell element.\n\nWhen the aria-readonly attribute is applied to a focusable gridcell, it indicates whether the content contained in the gridcell is editable. The aria-readonly attribute does not represent availability of functions for navigating or manipulating the treegrid itself.\n\nIn a treegrid that provides content editing functions, if the content of a focusable gridcell element is not editable, authors MAY set aria-readonly to true on the gridcell element. However, if a treegrid presents a collection of elements that do not support aria-readonly, such as a collection of link elements, it is not necessary for the author to specify a value for aria-readonly.\n\nTo be keyboard accessible, authors SHOULD manage focus of descendants for all instances of this role, as described in Managing Focus.",
12982
12552
  "generalization": ["grid", "tree"],
12983
12553
  "requiredContextRole": [],
12984
12554
  "requiredOwnedElements": ["caption", "row", "rowgroup > row"],
@@ -13117,7 +12687,7 @@
13117
12687
  },
13118
12688
  {
13119
12689
  "name": "treeitem",
13120
- "description": "An item in a tree.\n\nA treeitem element can contain a sub-level group of elements that can be expanded or collapsed. An expandable collection of treeitem elements are enclosed in an element with the group role.\n\nAuthors MUST ensure elements with role treeitem are contained in, or owned by, an element with role tree or an element with role group that is contained in, or owned by, an element with role treeitem.\n\nIn certain conditions, a user agent MAY provide an implicit value for aria-selected for each treeitem in a tree, and if it does, the user agent MUST ensure the following conditions are met before providing an implicit value:\n\nIf a user agent provides an implicit aria-selected value for a treeitem, the value SHOULD be true if the treeitem has DOM focus or the tree has DOM focus and the treeitem is referenced by aria-activedescendant. Otherwise, if a user agent provides an implicit aria-selected value for a treeitem, the value SHOULD be false.\n\nAuthors MAY indicate selection for treeitem elements using either aria-selected or aria-checked. Some user interfaces indicate selection with aria-selected in single-select trees and with aria-checked in multi-select trees. Authors SHOULD NOT specify both aria-selected and aria-checked on treeitem elements contained by the same tree except in the extremely rare circumstances where all the following conditions are met:",
12690
+ "description": "An item in a tree.\n\nA treeitem element can contain a sub-level group of elements that can be expanded or collapsed. An expandable collection of treeitem elements are enclosed in an element with the group role.\n\nAuthors MUST ensure elements with role treeitem are accessibility children of an element with role tree or an element with role group that is the accessibility child of an element with role treeitem.\n\nIn certain conditions, a user agent MAY provide an implicit value for aria-selected for each treeitem in a tree, and if it does, the user agent MUST ensure the following conditions are met before providing an implicit value:\n\nIf a user agent provides an implicit aria-selected value for a treeitem, the value SHOULD be true if the treeitem has DOM focus or the tree has DOM focus and the treeitem is referenced by aria-activedescendant. Otherwise, if a user agent provides an implicit aria-selected value for a treeitem, the value SHOULD be false.\n\nAuthors MAY indicate selection for treeitem elements using either aria-selected or aria-checked. Some user interfaces indicate selection with aria-selected in single-select trees and with aria-checked in multi-select trees. Authors SHOULD NOT specify both aria-selected and aria-checked on treeitem elements contained by the same tree except in the extremely rare circumstances where all the following conditions are met:",
13121
12691
  "generalization": ["listitem", "option"],
13122
12692
  "requiredContextRole": ["tree", "treeitem > group"],
13123
12693
  "requiredOwnedElements": [],
@@ -13688,8 +13258,8 @@
13688
13258
  "enum": [],
13689
13259
  "defaultValue": "undefined",
13690
13260
  "valueDescriptions": {
13691
- "false": "The grouping element this element owns or controls is collapsed.",
13692
- "true": "The grouping element this element owns or controls is expanded.",
13261
+ "false": "The grouping element this element controls or is the accessibility parent of is collapsed.",
13262
+ "true": "The grouping element this element controls or is the accessibility parent of is expanded.",
13693
13263
  "undefined": "The element does not own or control a grouping element that is expandable."
13694
13264
  }
13695
13265
  },
@@ -35370,7 +34940,7 @@
35370
34940
  "description": "Causes the browser to treat the linked URL as a download. Can be used with or without a filename value: Without a value, the browser will suggest a filename/extension, generated from various sources: The Content-Disposition HTTP header The final segment in the URL path The media type (from the Content-Type header, the start of a data: URL, or Blob.type for a blob: URL) filename: defining a value suggests it as the filename. / and \\ characters are converted to underscores (_). Filesystems may forbid other characters in filenames, so browsers will adjust the suggested name if necessary. Note: download only works for same-origin URLs, or the blob: and data: schemes. How browsers treat downloads varies by browser, user settings, and other factors. The user may be prompted before a download starts, or the file may be saved automatically, or it may open automatically, either in an external application or in the browser itself. If the Content-Disposition header has different information from the download attribute, resulting behavior may differ: If the header specifies a filename, it takes priority over a filename specified in the download attribute. If the header specifies a disposition of inline, Chrome and Firefox prioritize the attribute and treat it as a download. Old Firefox versions (before 82) prioritize the header and will display the content inline."
35371
34941
  },
35372
34942
  "href": {
35373
- "description": "The URL that the hyperlink points to. Links are not restricted to HTTP-based URLs — they can use any URL scheme supported by browsers: Sections of a page with document fragments Specific text portions with text fragments Pieces of media files with media fragments Telephone numbers with tel: URLs Email addresses with mailto: URLs While web browsers may not support other URL schemes, websites can with registerProtocolHandler()"
34943
+ "description": "The URL that the hyperlink points to. Links are not restricted to HTTP-based URLs — they can use any URL scheme supported by browsers: Sections of a page with document fragments Specific text portions with text fragments Pieces of media files with media fragments Telephone numbers with tel: URLs Email addresses with mailto: URLs SMS text messages with sms: URLs While web browsers may not support other URL schemes, websites can with registerProtocolHandler()"
35374
34944
  },
35375
34945
  "hreflang": {
35376
34946
  "description": "Hints at the human language of the linked URL. No built-in functionality. Allowed values are the same as the global lang attribute."
@@ -35558,18 +35128,6 @@
35558
35128
  "href": {
35559
35129
  "description": "The hyperlink target for the area. Its value is a valid URL. This attribute may be omitted; if so, the <area> element does not represent a hyperlink."
35560
35130
  },
35561
- "hreflang": {
35562
- "description": "Indicates the language of the linked resource. Allowed values are defined by RFC 5646: Tags for Identifying Languages (also known as BCP 47). Use this attribute only if the href attribute is present.",
35563
- "deprecated": true
35564
- },
35565
- "name": {
35566
- "description": "Define a names for the clickable area so that it can be scripted by older browsers.",
35567
- "deprecated": true
35568
- },
35569
- "nohref": {
35570
- "description": "Indicates that no hyperlink exists for the associated area. Note: The nohref attribute is not necessary, as omitting the href attribute is sufficient.",
35571
- "deprecated": true
35572
- },
35573
35131
  "ping": {
35574
35132
  "description": "Contains a space-separated list of URLs to which, when the hyperlink is followed, POST requests with the body PING will be sent by the browser (in the background). Typically used for tracking."
35575
35133
  },
@@ -35588,10 +35146,6 @@
35588
35146
  },
35589
35147
  "target": {
35590
35148
  "description": "A keyword or author-defined name of the browsing context to display the linked resource. The following keywords have special meanings: _self (default): Show the resource in the current browsing context. _blank: Show the resource in a new, unnamed browsing context. _parent: Show the resource in the parent browsing context of the current one, if the current page is inside a frame. If there is no parent, acts the same as _self. _top: Show the resource in the topmost browsing context (the browsing context that is an ancestor of the current one and has no parent). If there is no parent, acts the same as _self. Use this attribute only if the href attribute is present. Note: Setting target=\"_blank\" on <area> elements implicitly provides the same rel behavior as setting rel=\"noopener\" which does not set window.opener. See browser compatibility for support status."
35591
- },
35592
- "type": {
35593
- "description": "Hint for the type of the referenced resource. Ignored by browsers.",
35594
- "deprecated": true
35595
35149
  }
35596
35150
  }
35597
35151
  },
@@ -35698,16 +35252,13 @@
35698
35252
  "description": "If this attribute is present, the browser will offer controls to allow the user to control audio playback, including volume, seeking, and pause/resume playback."
35699
35253
  },
35700
35254
  "controlslist": {
35701
- "description": "The controlslist attribute, when specified, helps the browser select what controls to show for the audio element whenever the browser shows its own set of controls (that is, when the controls attribute is specified). The allowed values are nodownload, nofullscreen and noremoteplayback.",
35702
- "experimental": true,
35703
- "nonStandard": true
35255
+ "description": "The controlslist attribute, when specified, helps the browser select what controls to show for the audio element whenever the browser shows its own set of controls (that is, when the controls attribute is specified). The allowed values are nodownload, nofullscreen and noremoteplayback."
35704
35256
  },
35705
35257
  "crossorigin": {
35706
35258
  "description": "This enumerated attribute indicates whether to use CORS to fetch the related audio file. CORS-enabled resources can be reused in the <canvas> element without being tainted. The allowed values are: anonymous Sends a cross-origin request without a credential. In other words, it sends the Origin: HTTP header without a cookie, X.509 certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (by not setting the Access-Control-Allow-Origin: HTTP header), the resource will be tainted, and its usage restricted. use-credentials Sends a cross-origin request with a credential. In other words, it sends the Origin: HTTP header with a cookie, a certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (through Access-Control-Allow-Credentials: HTTP header), the resource will be tainted and its usage restricted. When not present, the resource is fetched without a CORS request (i.e. without sending the Origin: HTTP header), preventing its non-tainted use in <canvas> elements. If invalid, it is handled as if the enumerated keyword anonymous was used. See CORS settings attributes for additional information."
35707
35259
  },
35708
35260
  "disableremoteplayback": {
35709
- "description": "A Boolean attribute used to disable the capability of remote playback in devices that are attached using wired (HDMI, DVI, etc.) and wireless technologies (Miracast, Chromecast, DLNA, AirPlay, etc.). See this proposed specification for more information. Note: In Safari, you can use x-webkit-airplay=\"deny\" as a fallback.",
35710
- "experimental": true
35261
+ "description": "A Boolean attribute used to disable the capability of remote playback in devices that are attached using wired (HDMI, DVI, etc.) and wireless technologies (Miracast, Chromecast, DLNA, AirPlay, etc.). See this proposed specification for more information. In Safari, you can use x-webkit-airplay=\"deny\" as a fallback."
35711
35262
  },
35712
35263
  "loop": {
35713
35264
  "description": "A Boolean attribute: if specified, the audio player will automatically seek back to the start upon reaching the end of the audio."
@@ -35773,7 +35324,7 @@
35773
35324
  },
35774
35325
  "attributes": {
35775
35326
  "href": {
35776
- "description": "The base URL to be used throughout the document for relative URLs. Absolute and relative URLs are allowed."
35327
+ "type": "BaseURL"
35777
35328
  },
35778
35329
  "target": {
35779
35330
  "description": "A keyword or author-defined name of the default browsing context to show the results of navigation from <a>, <area>, or <form> elements without explicit target attributes. The following keywords have special meanings: _self (default): Show the result in the current browsing context. _blank: Show the result in a new, unnamed browsing context. _parent: Show the result in the parent browsing context of the current one, if the current page is inside a frame. If there is no parent, acts the same as _self. _top: Show the result in the topmost browsing context (the browsing context that is an ancestor of the current one and has no parent). If there is no parent, acts the same as _self."
@@ -35783,7 +35334,7 @@
35783
35334
  {
35784
35335
  "name": "basefont",
35785
35336
  "cite": "https://html.spec.whatwg.org/multipage/obsolete.html#non-conforming-features",
35786
- "description": "The CSS fonts module defines font-related properties and how font resources are loaded. It lets you define the style of a font, such as its family, size and weight, line height, and the glyph variants to use when multiple are available for a single character.",
35337
+ "description": "The CSS fonts module defines font-related properties and how font resources are loaded. It lets you define the style of a font, such as its family, size and weight, and the glyph variants to use when multiple are available for a single character.",
35787
35338
  "categories": [],
35788
35339
  "contentModel": {
35789
35340
  "contents": true
@@ -35880,16 +35431,13 @@
35880
35431
  "description": "If this attribute is present, the browser will offer controls to allow the user to control audio playback, including volume, seeking, and pause/resume playback."
35881
35432
  },
35882
35433
  "controlslist": {
35883
- "description": "The controlslist attribute, when specified, helps the browser select what controls to show for the audio element whenever the browser shows its own set of controls (that is, when the controls attribute is specified). The allowed values are nodownload, nofullscreen and noremoteplayback.",
35884
- "experimental": true,
35885
- "nonStandard": true
35434
+ "description": "The controlslist attribute, when specified, helps the browser select what controls to show for the audio element whenever the browser shows its own set of controls (that is, when the controls attribute is specified). The allowed values are nodownload, nofullscreen and noremoteplayback."
35886
35435
  },
35887
35436
  "crossorigin": {
35888
35437
  "description": "This enumerated attribute indicates whether to use CORS to fetch the related audio file. CORS-enabled resources can be reused in the <canvas> element without being tainted. The allowed values are: anonymous Sends a cross-origin request without a credential. In other words, it sends the Origin: HTTP header without a cookie, X.509 certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (by not setting the Access-Control-Allow-Origin: HTTP header), the resource will be tainted, and its usage restricted. use-credentials Sends a cross-origin request with a credential. In other words, it sends the Origin: HTTP header with a cookie, a certificate, or performing HTTP Basic authentication. If the server does not give credentials to the origin site (through Access-Control-Allow-Credentials: HTTP header), the resource will be tainted and its usage restricted. When not present, the resource is fetched without a CORS request (i.e. without sending the Origin: HTTP header), preventing its non-tainted use in <canvas> elements. If invalid, it is handled as if the enumerated keyword anonymous was used. See CORS settings attributes for additional information."
35889
35438
  },
35890
35439
  "disableremoteplayback": {
35891
- "description": "A Boolean attribute used to disable the capability of remote playback in devices that are attached using wired (HDMI, DVI, etc.) and wireless technologies (Miracast, Chromecast, DLNA, AirPlay, etc.). See this proposed specification for more information. Note: In Safari, you can use x-webkit-airplay=\"deny\" as a fallback.",
35892
- "experimental": true
35440
+ "description": "A Boolean attribute used to disable the capability of remote playback in devices that are attached using wired (HDMI, DVI, etc.) and wireless technologies (Miracast, Chromecast, DLNA, AirPlay, etc.). See this proposed specification for more information. In Safari, you can use x-webkit-airplay=\"deny\" as a fallback."
35893
35441
  },
35894
35442
  "loop": {
35895
35443
  "description": "A Boolean attribute: if specified, the audio player will automatically seek back to the start upon reaching the end of the audio."
@@ -36217,10 +35765,6 @@
36217
35765
  "#HTMLGlobalAttrs": true
36218
35766
  },
36219
35767
  "attributes": {
36220
- "autocomplete": {
36221
- "description": "This attribute on a <button> is nonstandard and Firefox-specific. Unlike other browsers, Firefox persists the dynamic disabled state of a <button> across page loads. Setting autocomplete=\"off\" on the button disables this feature; see Firefox bug 654072.",
36222
- "nonStandard": true
36223
- },
36224
35768
  "autofocus": {
36225
35769
  "description": "This Boolean attribute specifies that the button should have input focus when the page loads. Only one element in a document can have this attribute."
36226
35770
  },
@@ -36237,7 +35781,7 @@
36237
35781
  "description": "If the button is a submit button (it's inside/associated with a <form> and doesn't have type=\"button\"), specifies how to encode the form data that is submitted. Possible values: application/x-www-form-urlencoded: The default if the attribute is not used. multipart/form-data: Used to submit <input> elements with their type attributes set to file. text/plain: Specified as a debugging aid; shouldn't be used for real form submission. If this attribute is specified, it overrides the enctype attribute of the button's form owner."
36238
35782
  },
36239
35783
  "formmethod": {
36240
- "description": "If the button is a submit button (it's inside/associated with a <form> and doesn't have type=\"button\"), this attribute specifies the HTTP method used to submit the form. Possible values: post: The data from the form are included in the body of the HTTP request when sent to the server. Use when the form contains information that shouldn't be public, like login credentials. get: The form data are appended to the form's action URL, with a ? as a separator, and the resulting URL is sent to the server. Use this method when the form has no side effects, like search forms. If specified, this attribute overrides the method attribute of the button's form owner."
35784
+ "description": "If the button is a submit button (it's inside/associated with a <form> and doesn't have type=\"button\"), this attribute specifies the HTTP method used to submit the form. Possible values: post: The data from the form are included in the body of the HTTP request when sent to the server. Use when the form contains information that shouldn't be public, like login credentials. get: The form data are appended to the form's action URL, with a ? as a separator, and the resulting URL is sent to the server. Use this method when the form has no side effects, like search forms. dialog: This method is used to indicate that the button closes the dialog with which it is associated, and does not transmit the form data at all. If specified, this attribute overrides the method attribute of the button's form owner."
36241
35785
  },
36242
35786
  "formnovalidate": {
36243
35787
  "description": "If the button is a submit button, this Boolean attribute specifies that the form is not to be validated when it is submitted. If this attribute is specified, it overrides the novalidate attribute of the button's form owner. This attribute is also available on <input type=\"image\"> and <input type=\"submit\"> elements."
@@ -36311,7 +35855,7 @@
36311
35855
  {
36312
35856
  "name": "caption",
36313
35857
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/caption",
36314
- "description": "The <caption> HTML element specifies the caption (or title) of a table.",
35858
+ "description": "The <caption> HTML element specifies the caption (or title) of a table, providing the table an accessible description.",
36315
35859
  "categories": [],
36316
35860
  "contentModel": {
36317
35861
  "contents": [
@@ -36339,7 +35883,7 @@
36339
35883
  },
36340
35884
  "attributes": {
36341
35885
  "align": {
36342
- "description": "This enumerated attribute indicates how the caption must be aligned with respect to the table. It may have one of the following values: left The caption is displayed to the left of the table. top The caption is displayed above the table. right The caption is displayed to the right of the table. bottom The caption is displayed below the table. Warning: Do not use this attribute, as it has been deprecated. The <caption> element should be styled using the CSS properties caption-side and text-align.",
35886
+ "description": "Specifies on which side of the table the caption should be displayed. The possible enumerated values are left, top, right, or bottom. Use the caption-side and text-align CSS properties instead, as this attribute is deprecated.",
36343
35887
  "deprecated": true
36344
35888
  }
36345
35889
  }
@@ -36417,7 +35961,7 @@
36417
35961
  {
36418
35962
  "name": "col",
36419
35963
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col",
36420
- "description": "The <col> HTML element defines a column within a table and is used for defining common semantics on all common cells. It is generally found within a <colgroup> element.",
35964
+ "description": "The <col> HTML element defines one or more columns in a column group represented by its parent <colgroup> element. The <col> element is only valid as a child of a <colgroup> element that has no span attribute defined.",
36421
35965
  "categories": [],
36422
35966
  "contentModel": {
36423
35967
  "contents": false
@@ -36435,19 +35979,19 @@
36435
35979
  },
36436
35980
  "attributes": {
36437
35981
  "align": {
36438
- "description": "This enumerated attribute specifies how horizontal alignment of each column cell content will be handled. Possible values are: left, aligning the content to the left of the cell center, centering the content in the cell right, aligning the content to the right of the cell justify, inserting spaces into the textual content so that the content is justified in the cell If this attribute is not set, its value is inherited from the align of the <colgroup> element this <col> element belongs too. If there are none, the left value is assumed. Note: To achieve the same effect as the left, center, right or justify values, do not try to set the text-align property on a selector giving a <col> element. Because <td> elements are not descendant of the <col> element, they won't inherit it. If the table doesn't use a colspan attribute, use the td:nth-child(an+b) CSS selector. Set a to zero and b to the position of the column in the table, e.g. td:nth-child(2) { text-align: right; } to right-align the second column. If the table does use a colspan attribute, the effect can be achieved by combining adequate CSS attribute selectors like [colspan=n], though this is not trivial.",
35982
+ "description": "Specifies the horizontal alignment of each column cell. The possible enumerated values are left, center, right, justify, and char. When supported, the char value aligns the textual content on the character defined in the char attribute and on offset defined by the charoff attribute. Note that this attribute overrides the specified align of its <colgroup> parent element. Use the text-align CSS property on the <td> and <th> elements instead, as this attribute is deprecated. Note: Setting text-align on the <col> element has no effect as <col> has no descendants, and therefore no elements inherit from it. If the table does not use a colspan attribute, use the td:nth-of-type(an+b) CSS selector. Set a to zero and b to the position of the column in the table, e.g. td:nth-of-type(2) { text-align: right; } to right-align the second column cells. If the table does use a colspan attribute, the effect can be achieved by combining adequate CSS attribute selectors like [colspan=n], though this is not trivial.",
36439
35983
  "deprecated": true
36440
35984
  },
36441
35985
  "bgcolor": {
36442
- "description": "The background color of the table. It is a 6-digit hexadecimal RGB code, prefixed by a '#'. One of the predefined color keywords can also be used. To achieve a similar effect, use the CSS background-color property.",
35986
+ "description": "Defines the background color of each column cell. The value is an HTML color; either a 6-digit hexadecimal RGB code, prefixed by a '#', or a color keyword. Other CSS <color> values are not supported. Use the background-color CSS property instead, as this attribute is deprecated.",
36443
35987
  "deprecated": true
36444
35988
  },
36445
35989
  "char": {
36446
- "description": "This attribute sets the character to align the cells in a column on. Typical values for this include a period (.) when attempting to align numbers or monetary values. If align is not set to char, this attribute is ignored.",
35990
+ "description": "Specifies the alignment of the content to a character of each column cell. Typical values for this include a period (.) when attempting to align numbers or monetary values. If align is not set to char, this attribute is ignored, though it will still override the specified char of its <colgroup> parent element.",
36447
35991
  "deprecated": true
36448
35992
  },
36449
35993
  "charoff": {
36450
- "description": "This attribute is used to indicate the number of characters to offset the column data from the alignment characters specified by the char attribute.",
35994
+ "description": "Specifies the number of characters to offset the column cell content from the alignment character specified by the char attribute.",
36451
35995
  "deprecated": true
36452
35996
  },
36453
35997
  "span": {
@@ -36460,11 +36004,11 @@
36460
36004
  "defaultValue": "1"
36461
36005
  },
36462
36006
  "valign": {
36463
- "description": "This attribute specifies the vertical alignment of the text within each cell of the column. Possible values for this attribute are: baseline, which will put the text as close to the bottom of the cell as it is possible, but align it on the baseline of the characters instead of the bottom of them. If characters are all of the size, this has the same effect as bottom. bottom, which will put the text as close to the bottom of the cell as it is possible; middle, which will center the text in the cell; and top, which will put the text as close to the top of the cell as it is possible. Note: Do not try to set the vertical-align property on a selector giving a <col> element. Because <td> elements are not descendant of the <col> element, they won't inherit it. If the table doesn't use a colspan attribute, use the td:nth-child(an+b) CSS selector where 'a' is the total number of the columns in the table and 'b' is the ordinal position of the column in the table. Only after this selector the vertical-align property can be used. If the table does use a colspan attribute, the effect can be achieved by combining adequate CSS attribute selectors like [colspan=n], though this is not trivial.",
36007
+ "description": "Specifies the vertical alignment of each column cell. The possible enumerated values are baseline, bottom, middle, and top. Note that this attribute overrides the specified valign of its <colgroup> parent element. Use the vertical-align CSS property on the <td> and <th> elements instead, as this attribute is deprecated. Note: Setting vertical-align on the <col> element has no effect as <col> has no descendants, and therefore no elements inherit from it. If the table does not use a colspan attribute, use the td:nth-of-type(an+b) CSS selector. Set a to zero and b to the position of the column in the table, e.g. td:nth-of-type(2) { vertical-align: middle; } to center the second column cells vertically. If the table does use a colspan attribute, the effect can be achieved by combining adequate CSS attribute selectors like [colspan=n], though this is not trivial.",
36464
36008
  "deprecated": true
36465
36009
  },
36466
36010
  "width": {
36467
- "description": "This attribute specifies a default width for each column in the current column group. In addition to the standard pixel and percentage values, this attribute might take the special form 0*, which means that the width of each column in the group should be the minimum width necessary to hold the column's contents. Relative widths such as 5* also can be used.",
36011
+ "description": "Specifies a default width for each column. In addition to the standard pixel and percentage values, this attribute can take the special form 0*, which means that the width of each column spanned should be the minimum width necessary to hold the column's contents. Relative widths such as 5* can also be used. Note that this attribute overrides the specified width of its <colgroup> parent element. Use the width CSS property instead, as this attribute is deprecated.",
36468
36012
  "deprecated": true
36469
36013
  }
36470
36014
  }
@@ -36500,19 +36044,19 @@
36500
36044
  },
36501
36045
  "attributes": {
36502
36046
  "align": {
36503
- "description": "This enumerated attribute specifies how horizontal alignment of each column cell content will be handled. Possible values are: left, aligning the content to the left of the cell center, centering the content in the cell right, aligning the content to the right of the cell justify, inserting spaces into the textual content so that the content is justified in the cell char, aligning the textual content on a special character with a minimal offset, defined by the char and charoff attributes. If this attribute is not set, the left value is assumed. The descendant <col> elements may override this value using their own align attribute. Note: Do not try to set the text-align property on a selector giving a <colgroup> element. Because <td> elements are not descendant of the <colgroup> element, they won't inherit it. If the table doesn't use a colspan attribute, use one td:nth-child(an+b) CSS selector per column, where 'a' is the total number of the columns in the table and 'b' is the ordinal position of this column in the table. Only after this selector the text-align property can be used. If the table does use a colspan attribute, the effect can be achieved by combining adequate CSS attribute selectors like [colspan=n], though this is not trivial.",
36047
+ "description": "Specifies the horizontal alignment of each column group cell. The possible enumerated values are left, center, right, justify, and char. When supported, the char value aligns the textual content on the character defined in the char attribute and the offset defined by the charoff attribute. Note that the descendant <col> elements may override this value using their own align attribute. Use the text-align CSS property on the <td> and <th> elements instead, as this attribute is deprecated. Note: Setting text-align on the <colgroup> element has no effect as <td> and <th> elements are not descendants of the <colgroup> element, and therefore they do not inherit from it. If the table does not use a colspan attribute, use the td:nth-of-type(an+b) CSS selector per column, where a is the total number of the columns in the table and b is the ordinal position of the column in the table, e.g. td:nth-of-type(7n+2) { text-align: right; } to right-align the second column cells. If the table does use a colspan attribute, the effect can be achieved by combining adequate CSS attribute selectors like [colspan=n], though this is not trivial.",
36504
36048
  "deprecated": true
36505
36049
  },
36506
36050
  "bgcolor": {
36507
- "description": "The background color of the table. It is a 6-digit hexadecimal RGB code, prefixed by a '#'. One of the predefined color keywords can also be used. To achieve a similar effect, use the CSS background-color property.",
36051
+ "description": "Defines the background color of each column group cell. The value is an HTML color; either a 6-digit hexadecimal RGB code, prefixed by a '#', or a color keyword. Other CSS <color> values are not supported. Use the background-color CSS property instead, as this attribute is deprecated.",
36508
36052
  "deprecated": true
36509
36053
  },
36510
36054
  "char": {
36511
- "description": "This attribute specifies the alignment of the content in a column group to a character. Typical values for this include a period (.) when attempting to align numbers or monetary values. If align is not set to char, this attribute is ignored, though it will still be used as the default value for the align of the <col> which are members of this column group.",
36055
+ "description": "Specifies the alignment of the content to a character of each column group cell. Typical values for this include a period (.) when attempting to align numbers or monetary values. If align is not set to char, this attribute is ignored, though it will still be used as the default value for the align of the <col> elements which are members of this column group.",
36512
36056
  "deprecated": true
36513
36057
  },
36514
36058
  "charoff": {
36515
- "description": "This attribute is used to indicate the number of characters to offset the column data from the alignment character specified by the char attribute.",
36059
+ "description": "Specifies the number of characters to offset the column group cell content from the alignment character specified by the char attribute.",
36516
36060
  "deprecated": true
36517
36061
  },
36518
36062
  "span": {
@@ -36525,7 +36069,11 @@
36525
36069
  "defaultValue": "1"
36526
36070
  },
36527
36071
  "valign": {
36528
- "description": "This attribute specifies the vertical alignment of the text within each cell of the column. Possible values for this attribute are: baseline, which will put the text as close to the bottom of the cell as it is possible, but align it on the baseline of the characters instead of the bottom of them. If characters are all of the size, this has the same effect as bottom. bottom, which will put the text as close to the bottom of the cell as it is possible; middle, which will center the text in the cell; and top, which will put the text as close to the top of the cell as it is possible. Note: Do not try to set the vertical-align property on a selector giving a <colgroup> element. Because <td> elements are not descendant of the <colgroup> element, they won't inherit it. If the table doesn't use a colspan attribute, use the td:nth-child(an+b) CSS selector per column, where 'a' is the total number of the columns in the table and 'b' is the ordinal position of the column in the table. Only after this selector the vertical-align property can be used. If the table does use a colspan attribute, the effect can be achieved by combining adequate CSS attribute selectors like [colspan=n], though this is not trivial.",
36072
+ "description": "Specifies the vertical alignment of each column group cell. The possible enumerated values are baseline, bottom, middle, and top. Note that the descendant <col> elements may override this value using their own valign attribute. Use the vertical-align CSS property on the <td> and <th> elements instead, as this attribute is deprecated. Note: Setting vertical-align on the <colgroup> element has no effect as <td> and <th> elements are not descendants of the <colgroup> element, and therefore they do not inherit from it. If the table does not use a colspan attribute, use the td:nth-of-type() CSS selector per column, e.g. td:nth-of-type(2) { vertical-align: middle; } to center the second column cells vertically. If the table does use a colspan attribute, the effect can be achieved by combining adequate CSS attribute selectors like [colspan=n], though this is not trivial.",
36073
+ "deprecated": true
36074
+ },
36075
+ "width": {
36076
+ "description": "Specifies a default width for each column in the current column group. In addition to the standard pixel and percentage values, this attribute can take the special form 0*, which means that the width of each column spanned should be the minimum width necessary to hold the column's contents. Relative widths such as 5* can also be used. Note that the descendant <col> elements may override this value using their own width attribute. Use the width CSS property instead, as this attribute is deprecated.",
36529
36077
  "deprecated": true
36530
36078
  }
36531
36079
  }
@@ -36701,6 +36249,9 @@
36701
36249
  "#HTMLGlobalAttrs": true
36702
36250
  },
36703
36251
  "attributes": {
36252
+ "name": {
36253
+ "type": "NoEmptyAny"
36254
+ },
36704
36255
  "open": {
36705
36256
  "type": "Boolean"
36706
36257
  }
@@ -36733,7 +36284,7 @@
36733
36284
  {
36734
36285
  "name": "dialog",
36735
36286
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog",
36736
- "description": "The <dialog> HTML element represents a dialog box or other interactive component, such as a dismissible alert, inspector, or subwindow.",
36287
+ "description": "The <dialog> HTML element represents a modal or non-modal dialog box or other interactive component, such as a dismissible alert, inspector, or subwindow.",
36737
36288
  "categories": ["#flow"],
36738
36289
  "contentModel": {
36739
36290
  "contents": [
@@ -37031,7 +36582,7 @@
37031
36582
  {
37032
36583
  "name": "figcaption",
37033
36584
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/figcaption",
37034
- "description": "The <figcaption> HTML element represents a caption or legend describing the rest of the contents of its parent <figure> element.",
36585
+ "description": "The <figcaption> HTML element represents a caption or legend describing the rest of the contents of its parent <figure> element, providing the <figure> an accessible description.",
37035
36586
  "categories": [],
37036
36587
  "contentModel": {
37037
36588
  "contents": [
@@ -37214,8 +36765,7 @@
37214
36765
  "type": "URL"
37215
36766
  },
37216
36767
  "autocapitalize": {
37217
- "description": "A nonstandard attribute used by iOS Safari that controls how textual form elements should be automatically capitalized. autocapitalize attributes on a form elements override it on <form>. Possible values: none: No automatic capitalization. sentences (default): Capitalize the first letter of each sentence. words: Capitalize the first letter of each word. characters: Capitalize all characters — that is, uppercase.",
37218
- "nonStandard": true
36768
+ "description": "Controls whether inputted text is automatically capitalized and, if so, in what manner. See the autocapitalize global attribute page for more information."
37219
36769
  },
37220
36770
  "autocomplete": {
37221
36771
  "type": {
@@ -37265,7 +36815,7 @@
37265
36815
  }
37266
36816
  },
37267
36817
  "target": {
37268
- "type": "BrowsingContextNameOrKeyword"
36818
+ "type": "NavigableTargetNameOrKeyword"
37269
36819
  }
37270
36820
  }
37271
36821
  },
@@ -37344,7 +36894,7 @@
37344
36894
  {
37345
36895
  "name": "h1",
37346
36896
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h1",
37347
- "description": "The <h1> to <h6> HTML elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest.",
36897
+ "description": "The <h1> to <h6> HTML elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest. By default, all heading elements create a block-level box in the layout, starting on a new line and taking up the full width available in their containing block.",
37348
36898
  "categories": ["#flow", "#heading", "#palpable"],
37349
36899
  "contentModel": {
37350
36900
  "contents": [
@@ -37371,7 +36921,7 @@
37371
36921
  {
37372
36922
  "name": "h2",
37373
36923
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h2",
37374
- "description": "The <h1> to <h6> HTML elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest.",
36924
+ "description": "The <h1> to <h6> HTML elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest. By default, all heading elements create a block-level box in the layout, starting on a new line and taking up the full width available in their containing block.",
37375
36925
  "categories": ["#flow", "#heading", "#palpable"],
37376
36926
  "contentModel": {
37377
36927
  "contents": [
@@ -37398,7 +36948,7 @@
37398
36948
  {
37399
36949
  "name": "h3",
37400
36950
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h3",
37401
- "description": "The <h1> to <h6> HTML elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest.",
36951
+ "description": "The <h1> to <h6> HTML elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest. By default, all heading elements create a block-level box in the layout, starting on a new line and taking up the full width available in their containing block.",
37402
36952
  "categories": ["#flow", "#heading", "#palpable"],
37403
36953
  "contentModel": {
37404
36954
  "contents": [
@@ -37425,7 +36975,7 @@
37425
36975
  {
37426
36976
  "name": "h4",
37427
36977
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h4",
37428
- "description": "The <h1> to <h6> HTML elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest.",
36978
+ "description": "The <h1> to <h6> HTML elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest. By default, all heading elements create a block-level box in the layout, starting on a new line and taking up the full width available in their containing block.",
37429
36979
  "categories": ["#flow", "#heading", "#palpable"],
37430
36980
  "contentModel": {
37431
36981
  "contents": [
@@ -37452,7 +37002,7 @@
37452
37002
  {
37453
37003
  "name": "h5",
37454
37004
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h5",
37455
- "description": "The <h1> to <h6> HTML elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest.",
37005
+ "description": "The <h1> to <h6> HTML elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest. By default, all heading elements create a block-level box in the layout, starting on a new line and taking up the full width available in their containing block.",
37456
37006
  "categories": ["#flow", "#heading", "#palpable"],
37457
37007
  "contentModel": {
37458
37008
  "contents": [
@@ -37479,7 +37029,7 @@
37479
37029
  {
37480
37030
  "name": "h6",
37481
37031
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/h6",
37482
- "description": "The <h1> to <h6> HTML elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest.",
37032
+ "description": "The <h1> to <h6> HTML elements represent six levels of section headings. <h1> is the highest section level and <h6> is the lowest. By default, all heading elements create a block-level box in the layout, starting on a new line and taking up the full width available in their containing block.",
37483
37033
  "categories": ["#flow", "#heading", "#palpable"],
37484
37034
  "contentModel": {
37485
37035
  "contents": [
@@ -37776,7 +37326,8 @@
37776
37326
  },
37777
37327
  "allowpaymentrequest": {
37778
37328
  "description": "Set to true if a cross-origin <iframe> should be allowed to invoke the Payment Request API. Note: This attribute is considered a legacy attribute and redefined as allow=\"payment\".",
37779
- "experimental": true
37329
+ "deprecated": true,
37330
+ "nonStandard": true
37780
37331
  },
37781
37332
  "credentialless": {
37782
37333
  "description": "Set to true to make the <iframe> credentialless, meaning that its content will be loaded in a new, ephemeral context. It doesn't have access to the network, cookies, and storage data associated with its origin. It uses a new context local to the top-level document lifetime. In return, the Cross-Origin-Embedder-Policy (COEP) embedding rules can be lifted, so documents with COEP set can embed third-party documents that do not. See IFrame credentialless for more details.",
@@ -37795,7 +37346,7 @@
37795
37346
  "description": "The height of the frame in CSS pixels. Default is 150."
37796
37347
  },
37797
37348
  "loading": {
37798
- "description": "Indicates how the browser should load the iframe: eager: Load the iframe immediately, regardless if it is outside the visible viewport (this is the default value). lazy: Defer loading of the iframe until it reaches a calculated distance from the viewport, as defined by the browser."
37349
+ "description": "Indicates when the browser should load the iframe: eager Load the iframe immediately on page load (this is the default value). lazy Defer loading of the iframe until it reaches a calculated distance from the visual viewport, as defined by the browser. The intent is to avoid using the network and storage bandwidth required to fetch the frame until the browser is reasonably certain that it will be needed. This improves the performance and cost in most typical use cases, in particular by reducing initial page load times. Note: Loading is only deferred when JavaScript is enabled. This is an anti-tracking measure."
37799
37350
  },
37800
37351
  "longdesc": {
37801
37352
  "description": "A URL of a long description of the frame's content. Due to widespread misuse, this is not helpful for non-visual browsers.",
@@ -37810,10 +37361,10 @@
37810
37361
  "deprecated": true
37811
37362
  },
37812
37363
  "name": {
37813
- "type": "BrowsingContextName"
37364
+ "type": "NavigableTargetName"
37814
37365
  },
37815
37366
  "referrerpolicy": {
37816
- "description": "Indicates which referrer to send when fetching the frame's resource: no-referrer: The Referer header will not be sent. no-referrer-when-downgrade: The Referer header will not be sent to origins without TLS (HTTPS). origin: The sent referrer will be limited to the origin of the referring page: its scheme, host, and port. origin-when-cross-origin: The referrer sent to other origins will be limited to the scheme, the host, and the port. Navigations on the same origin will still include the path. same-origin: A referrer will be sent for same origin, but cross-origin requests will contain no referrer information. strict-origin: Only send the origin of the document as the referrer when the protocol security level stays the same (HTTPS→HTTPS), but don't send it to a less secure destination (HTTPS→HTTP). strict-origin-when-cross-origin (default): Send a full URL when performing a same-origin request, only send the origin when the protocol security level stays the same (HTTPS→HTTPS), and send no header to a less secure destination (HTTPS→HTTP). unsafe-url: The referrer will include the origin and the path (but not the fragment, password, or username). This value is unsafe, because it leaks origins and paths from TLS-protected resources to insecure origins."
37367
+ "description": "Indicates which referrer to send when fetching the frame's resource: no-referrer The Referer header will not be sent. no-referrer-when-downgrade The Referer header will not be sent to origins without TLS (HTTPS). origin The sent referrer will be limited to the origin of the referring page: its scheme, host, and port. origin-when-cross-origin The referrer sent to other origins will be limited to the scheme, the host, and the port. Navigations on the same origin will still include the path. same-origin A referrer will be sent for same origin, but cross-origin requests will contain no referrer information. strict-origin Only send the origin of the document as the referrer when the protocol security level stays the same (HTTPS→HTTPS), but don't send it to a less secure destination (HTTPS→HTTP). strict-origin-when-cross-origin (default) Send a full URL when performing a same-origin request, only send the origin when the protocol security level stays the same (HTTPS→HTTPS), and send no header to a less secure destination (HTTPS→HTTP). unsafe-url The referrer will include the origin and the path (but not the fragment, password, or username). This value is unsafe, because it leaks origins and paths from TLS-protected resources to insecure origins."
37817
37368
  },
37818
37369
  "sandbox": {
37819
37370
  "type": {
@@ -37841,7 +37392,7 @@
37841
37392
  }
37842
37393
  },
37843
37394
  "scrolling": {
37844
- "description": "Indicates when the browser should provide a scrollbar for the frame: auto: Only when the frame's content is larger than its dimensions. yes: Always show a scrollbar. no: Never show a scrollbar.",
37395
+ "description": "Indicates when the browser should provide a scrollbar for the frame: auto Only when the frame's content is larger than its dimensions. yes Always show a scrollbar. no Never show a scrollbar.",
37845
37396
  "deprecated": true
37846
37397
  },
37847
37398
  "src": {
@@ -37962,8 +37513,7 @@
37962
37513
  "description": "Marks the image for observation by the PerformanceElementTiming API. The value given becomes an identifier for the observed image element. See also the elementtiming attribute page."
37963
37514
  },
37964
37515
  "fetchpriority": {
37965
- "description": "Provides a hint of the relative priority to use when fetching the image. Allowed values: high Signals a high-priority fetch relative to other images. low Signals a low-priority fetch relative to other images. auto Default: Signals automatic determination of fetch priority relative to other images.",
37966
- "experimental": true
37516
+ "description": "Provides a hint of the relative priority to use when fetching the image. Allowed values: high Signals a high-priority fetch relative to other images. low Signals a low-priority fetch relative to other images. auto Default: Signals automatic determination of fetch priority relative to other images."
37967
37517
  },
37968
37518
  "height": {
37969
37519
  "description": "The intrinsic height of the image, in pixels. Must be an integer without a unit. Note: Including height and width enables the aspect ratio of the image to be calculated by the browser prior to the image being loaded. This aspect ratio is used to reserve the space needed to display the image, reducing or even preventing a layout shift when the image is downloaded and painted to the screen. Reducing layout shift is a major component of good user experience and web performance."
@@ -37977,7 +37527,7 @@
37977
37527
  "condition": "a[href] img"
37978
37528
  },
37979
37529
  "loading": {
37980
- "description": "Indicates how the browser should load the image: eager Loads the image immediately, regardless of whether or not the image is currently within the visible viewport (this is the default value). lazy Defers loading the image until it reaches a calculated distance from the viewport, as defined by the browser. The intent is to avoid the network and storage bandwidth needed to handle the image until it's reasonably certain that it will be needed. This generally improves the performance of the content in most typical use cases. Note: Loading is only deferred when JavaScript is enabled. This is an anti-tracking measure, because if a user agent supported lazy loading when scripting is disabled, it would still be possible for a site to track a user's approximate scroll position throughout a session, by strategically placing images in a page's markup such that a server can track how many images are requested and when."
37530
+ "description": "Indicates how the browser should load the image: eager Loads the image immediately, regardless of whether or not the image is currently within the visible viewport (this is the default value). lazy Defers loading the image until it reaches a calculated distance from the viewport, as defined by the browser. The intent is to avoid the network and storage bandwidth needed to handle the image until it's reasonably certain that it will be needed. This generally improves the performance of the content in most typical use cases. Note: Loading is only deferred when JavaScript is enabled. This is an anti-tracking measure, because if a user agent supported lazy loading when scripting is disabled, it would still be possible for a site to track a user's approximate scroll position throughout a session, by strategically placing images in a page's markup such that a server can track how many images are requested and when. Note: Images with loading set to lazy will never be loaded if they do not intersect a visible part of an element, even if loading them would change that as unloaded images have a width and height of 0. Putting width and height on lazyloaded images fixes this issue and is a best practice, recommended by the specification. Doing so also helps prevent layout shifts."
37981
37531
  },
37982
37532
  "longdesc": {
37983
37533
  "description": "A link to a more detailed description of the image. Possible values are a URL or an element id. Note: This attribute is mentioned in the latest W3C version, HTML 5.2, but has been removed from the WHATWG's HTML Living Standard. It has an uncertain future; authors should use a WAI-ARIA alternative such as aria-describedby or aria-details.",
@@ -38526,8 +38076,7 @@
38526
38076
  "condition": "[type='image' i]"
38527
38077
  },
38528
38078
  "autocapitalize": {
38529
- "description": "(Safari only). A string which indicates how auto-capitalization should be applied while the user is editing this field. Permitted values are: none Do not automatically capitalize any text sentences Automatically capitalize the first character of each sentence. words Automatically capitalize the first character of each word. characters Automatically capitalize every character.",
38530
- "nonStandard": true
38079
+ "description": "Controls whether inputted text is automatically capitalized and, if so, in what manner. See the autocapitalize global attribute page for more information."
38531
38080
  },
38532
38081
  "autocomplete": {
38533
38082
  "condition": [
@@ -38564,7 +38113,17 @@
38564
38113
  "condition": ["[type='checkbox' i]", "[type='radio' i]"]
38565
38114
  },
38566
38115
  "dirname": {
38567
- "condition": [":not([type])", "[type='text' i]", "[type='search' i]"]
38116
+ "condition": [
38117
+ ":not([type])",
38118
+ "[type='hidden' i]",
38119
+ "[type='text' i]",
38120
+ "[type='search' i]",
38121
+ "[type='tel' i]",
38122
+ "[type='url' i]",
38123
+ "[type='email' i]",
38124
+ "[type='password' i]",
38125
+ "[type='submit' i]"
38126
+ ]
38568
38127
  },
38569
38128
  "disabled": {
38570
38129
  "description": "A Boolean attribute which, if present, indicates that the user should not be able to interact with the input. Disabled inputs are typically rendered with a dimmer color or using some other form of indication that the field is not available for use. Specifically, disabled inputs do not receive the click event, and disabled inputs are not submitted with the form. Note: Although not required by the specification, Firefox will by default persist the dynamic disabled state of an <input> across page loads. Use the autocomplete attribute to control this feature."
@@ -39094,8 +38653,13 @@
39094
38653
  },
39095
38654
  "blocking": {
39096
38655
  "type": {
39097
- "enum": ["render"]
39098
- }
38656
+ "token": {
38657
+ "enum": ["render"]
38658
+ },
38659
+ "separator": "space",
38660
+ "unique": true
38661
+ },
38662
+ "condition": "[rel~='stylesheet' i]"
39099
38663
  },
39100
38664
  "charset": {
39101
38665
  "description": "This attribute defines the character encoding of the linked resource. The value is a space- and/or comma-delimited list of character sets as defined in RFC 2045. The default value is iso-8859-1. Note: To produce the same effect as this obsolete attribute, use the Content-Type HTTP header on the linked resource.",
@@ -39113,8 +38677,7 @@
39113
38677
  "type": "Boolean"
39114
38678
  },
39115
38679
  "fetchpriority": {
39116
- "description": "Provides a hint of the relative priority to use when fetching a preloaded resource. Allowed values: high Signals a high-priority fetch relative to other resources of the same type. low Signals a low-priority fetch relative to other resources of the same type. auto Default: Signals automatic determination of fetch priority relative to other resources of the same type.",
39117
- "experimental": true
38680
+ "description": "Provides a hint of the relative priority to use when fetching a preloaded resource. Allowed values: high Signals a high-priority fetch relative to other resources of the same type. low Signals a low-priority fetch relative to other resources of the same type. auto Default: Signals automatic determination of fetch priority relative to other resources of the same type."
39118
38681
  },
39119
38682
  "href": {
39120
38683
  "description": "This attribute specifies the URL of the linked resource. A URL can be absolute or relative."
@@ -39139,17 +38702,13 @@
39139
38702
  "requiredEither": ["rel"]
39140
38703
  },
39141
38704
  "media": {
39142
- "description": "This attribute specifies the media that the linked resource applies to. Its value must be a media type / media query. This attribute is mainly useful when linking to external stylesheets — it allows the user agent to pick the best adapted one for the device it runs on. Note: In HTML 4, this can only be a simple white-space-separated list of media description literals, i.e., media types and groups, where defined and allowed as values for this attribute, such as print, screen, aural, braille. HTML5 extended this to any kind of media queries, which are a superset of the allowed values of HTML 4. Browsers not supporting CSS Media Queries won't necessarily recognize the adequate link; do not forget to set fallback links, the restricted set of media queries defined in HTML 4."
38705
+ "description": "This attribute specifies the media that the linked resource applies to. Its value must be a media type / media query. This attribute is mainly useful when linking to external stylesheets — it allows the user agent to pick the best adapted one for the device it runs on."
39143
38706
  },
39144
38707
  "methods": {
39145
38708
  "description": "The value of this attribute provides information about the functions that might be performed on an object. The values generally are given by the HTTP protocol when it is used, but it might (for similar reasons as for the title attribute) be useful to include advisory information in advance in the link. For example, the browser might choose a different rendering of a link as a function of the methods specified; something that is searchable might get a different icon, or an outside link might render with an indication of leaving the current site. This attribute is not well understood nor supported, even by the defining browser, Internet Explorer 4.",
39146
38709
  "deprecated": true,
39147
38710
  "nonStandard": true
39148
38711
  },
39149
- "prefetch": {
39150
- "description": "Identifies a resource that might be required by the next navigation and that the user agent should retrieve it. This allows the user agent to respond faster when the resource is requested in the future.",
39151
- "experimental": true
39152
- },
39153
38712
  "referrerpolicy": {
39154
38713
  "description": "A string indicating which referrer to use when fetching the resource: no-referrer means that the Referer header will not be sent. no-referrer-when-downgrade means that no Referer header will be sent when navigating to an origin without TLS (HTTPS). This is a user agent's default behavior, if no policy is otherwise specified. origin means that the referrer will be the origin of the page, which is roughly the scheme, the host, and the port. origin-when-cross-origin means that navigating to other origins will be limited to the scheme, the host, and the port, while navigating on the same origin will include the referrer's path. unsafe-url means that the referrer will include the origin and the path (but not the fragment, password, or username). This case is unsafe because it can leak origins and paths from TLS-protected resources to insecure origins."
39155
38714
  },
@@ -39176,7 +38735,8 @@
39176
38735
  "prerender",
39177
38736
  "prev",
39178
38737
  "search",
39179
- "stylesheet"
38738
+ "stylesheet",
38739
+ "terms-of-service"
39180
38740
  ]
39181
38741
  },
39182
38742
  "unique": true,
@@ -39608,6 +39168,9 @@
39608
39168
  "#HTMLGlobalAttrs": true
39609
39169
  },
39610
39170
  "attributes": {
39171
+ "form": {
39172
+ "description": "This optional attribute is used to explicitly set a <form> owner for the <meter> element. If omitted, the <meter> is associated with its ancestor <form> element or the form association set by the form attribute on another ancestor element, such as on a <fieldset>, if any. If included, the value must be the id of a <form> in the same tree."
39173
+ },
39611
39174
  "high": {
39612
39175
  "type": "Number"
39613
39176
  },
@@ -39825,7 +39388,7 @@
39825
39388
  "description": "The height of the displayed resource, in CSS pixels. — (Absolute values only. NO percentages)"
39826
39389
  },
39827
39390
  "name": {
39828
- "type": "BrowsingContextName"
39391
+ "type": "NavigableTargetName"
39829
39392
  },
39830
39393
  "standby": {
39831
39394
  "description": "A message that the browser can show while loading the object's implementation and data.",
@@ -40556,7 +40119,11 @@
40556
40119
  },
40557
40120
  "blocking": {
40558
40121
  "type": {
40559
- "enum": ["render"]
40122
+ "token": {
40123
+ "enum": ["render"]
40124
+ },
40125
+ "separator": "space",
40126
+ "unique": true
40560
40127
  }
40561
40128
  },
40562
40129
  "charset": {
@@ -40572,8 +40139,7 @@
40572
40139
  "ineffective": ["[type='module' i]", ":not([src])", "[async]"]
40573
40140
  },
40574
40141
  "fetchpriority": {
40575
- "description": "Provides a hint of the relative priority to use when fetching an external script. Allowed values: high Signals a high-priority fetch relative to other external scripts. low Signals a low-priority fetch relative to other external scripts. auto Default: Signals automatic determination of fetch priority relative to other external scripts.",
40576
- "experimental": true
40142
+ "description": "Provides a hint of the relative priority to use when fetching an external script. Allowed values: high Signals a high-priority fetch relative to other external scripts. low Signals a low-priority fetch relative to other external scripts. auto Default: Signals automatic determination of fetch priority relative to other external scripts."
40577
40143
  },
40578
40144
  "integrity": {
40579
40145
  "condition": "[src]"
@@ -40610,8 +40176,8 @@
40610
40176
  {
40611
40177
  "name": "search",
40612
40178
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/search",
40613
- "description": "",
40614
- "categories": [],
40179
+ "description": "The <search> HTML element is a container representing the parts of the document or application with form controls or other content related to performing a search or filtering operation. The <search> element semantically identifies the purpose of the element's contents as having search or filtering capabilities. The search or filtering functionality can be for the website or application, the current web page or document, or the entire Internet or subsection thereof.",
40180
+ "categories": ["#flow", "#palpable"],
40615
40181
  "contentModel": {
40616
40182
  "contents": [
40617
40183
  {
@@ -40843,7 +40409,7 @@
40843
40409
  {
40844
40410
  "name": "source",
40845
40411
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source",
40846
- "description": "The <source> HTML element specifies multiple media resources for the <picture>, the <audio> element, or the <video> element. It is a void element, meaning that it has no content and does not have a closing tag. It is commonly used to offer the same media content in multiple file formats in order to provide compatibility with a broad range of browsers given their differing support for image file formats and media file formats.",
40412
+ "description": "The <source> HTML element specifies one or more media resources for the <picture>, <audio>, and <video> elements. It is a void element, which means that it has no content and does not require a closing tag. This element is commonly used to offer the same media content in multiple file formats in order to provide compatibility with a broad range of browsers given their differing support for image file formats and media file formats.",
40847
40413
  "categories": [],
40848
40414
  "contentModel": {
40849
40415
  "contents": false
@@ -40865,8 +40431,7 @@
40865
40431
  "condition": "picture > source"
40866
40432
  },
40867
40433
  "media": {
40868
- "type": "<media-query-list>",
40869
- "condition": "picture > source"
40434
+ "type": "<media-query-list>"
40870
40435
  },
40871
40436
  "sizes": {
40872
40437
  "condition": "picture > source"
@@ -41002,7 +40567,11 @@
41002
40567
  "attributes": {
41003
40568
  "blocking": {
41004
40569
  "type": {
41005
- "enum": ["render"]
40570
+ "token": {
40571
+ "enum": ["render"]
40572
+ },
40573
+ "separator": "space",
40574
+ "unique": true
41006
40575
  }
41007
40576
  },
41008
40577
  "media": {
@@ -41118,7 +40687,7 @@
41118
40687
  {
41119
40688
  "name": "table",
41120
40689
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/table",
41121
- "description": "The <table> HTML element represents tabular data that is, information presented in a two-dimensional table comprised of rows and columns of cells containing data.",
40690
+ "description": "The <table> HTML element represents tabular data—that is, information presented in a two-dimensional table comprised of rows and columns of cells containing data.",
41122
40691
  "categories": ["#flow"],
41123
40692
  "contentModel": {
41124
40693
  "contents": [
@@ -41180,39 +40749,39 @@
41180
40749
  },
41181
40750
  "attributes": {
41182
40751
  "align": {
41183
- "description": "This enumerated attribute indicates how the table must be aligned inside the containing document. It may have the following values: left: the table is displayed on the left side of the document; center: the table is displayed in the center of the document; right: the table is displayed on the right side of the document. Set margin-left and margin-right to achieve an effect that is similar to the align attribute: left: margin-right: auto; margin-left: 0; center: margin-right: auto; margin-left: auto; right: margin-right: 0; margin-left: auto;",
40752
+ "description": "Specifies the horizontal alignment of the table within its parent element. The possible enumerated values are left, center, and right. Use the margin-inline-start and margin-inline-end CSS properties instead, as this attribute is deprecated.",
41184
40753
  "deprecated": true
41185
40754
  },
41186
40755
  "bgcolor": {
41187
- "description": "The background color of the table. It is a 6-digit hexadecimal RGB code, prefixed by a '#'. One of the predefined color keywords can also be used. To achieve a similar effect, use the CSS background-color property.",
40756
+ "description": "Defines the background color of the table. The value is an HTML color; either a 6-digit hexadecimal RGB code, prefixed by a '#', or a color keyword. Other CSS <color> values are not supported. Use the background-color CSS property instead, as this attribute is deprecated.",
41188
40757
  "deprecated": true
41189
40758
  },
41190
40759
  "border": {
41191
- "description": "This integer attribute defines, in pixels, the size of the frame surrounding the table. If set to 0, the frame attribute is set to void. To achieve a similar effect, use the CSS border shorthand property.",
40760
+ "description": "Defines, as a non-negative integer value (in pixels), the size of the frame surrounding the table. If set to 0, the frame attribute is set to void. Use the border CSS property instead, as this attribute is deprecated.",
41192
40761
  "deprecated": true
41193
40762
  },
41194
40763
  "cellpadding": {
41195
- "description": "This attribute defines the space between the content of a cell and its border, displayed or not. If the cellpadding's length is defined in pixels, this pixel-sized space will be applied to all four sides of the cell's content. If the length is defined using a percentage value, the content will be centered and the total vertical space (top and bottom) will represent this value. The same is true for the total horizontal space (left and right). To achieve a similar effect, apply the border-collapse property to the <table> element, with its value set to collapse, and the padding property to the <td> elements.",
40764
+ "description": "Defines the space between the content of a cell and its border, displayed or not. If the cellpadding's length is defined in pixels, this pixel-sized space will be applied to all four sides of the cell's content. If the length is defined using a percentage value, the content will be centered and the total vertical space (top and bottom) will represent this value. The same is true for the total horizontal space (left and right). Apply the border-collapse CSS property to the <table> element, with its value set to collapse, and the padding CSS property to the <td> elements instead, as this attribute is deprecated.",
41196
40765
  "deprecated": true
41197
40766
  },
41198
40767
  "cellspacing": {
41199
- "description": "This attribute defines the size of the space between two cells in a percentage value or pixels. The attribute is applied both horizontally and vertically, to the space between the top of the table and the cells of the first row, the left of the table and the first column, the right of the table and the last column and the bottom of the table and the last row. To achieve a similar effect, apply the border-spacing property to the <table> element. border-spacing does not have any effect if border-collapse is set to collapse.",
40768
+ "description": "Defines the size of the space between two cells in a percentage value or pixels. The attribute is applied both horizontally and vertically, to the space between the top of the table and the cells of the first row, the left of the table and the first column, the right of the table and the last column and the bottom of the table and the last row. Apply the border-spacing CSS property to the <table> element instead, as this attribute is deprecated. border-spacing does not have any effect if the border-collapse CSS property is set to collapse.",
41200
40769
  "deprecated": true
41201
40770
  },
41202
40771
  "frame": {
41203
- "description": "This enumerated attribute defines which side of the frame surrounding the table must be displayed. To achieve a similar effect, use the border-style and border-width properties.",
40772
+ "description": "Defines which side of the frame surrounding the table must be displayed. The possible enumerated values are void, above, below, hsides, vsides, lhs, rhs, box and border. Use the border-style and border-width CSS properties instead, as this attribute is deprecated.",
41204
40773
  "deprecated": true
41205
40774
  },
41206
40775
  "rules": {
41207
- "description": "This enumerated attribute defines where rules, i.e. lines, should appear in a table. It can have the following values: none, which indicates that no rules will be displayed; it is the default value; groups, which will cause the rules to be displayed between row groups (defined by the <thead>, <tbody> and <tfoot> elements) and between column groups (defined by the <col> and <colgroup> elements) only; rows, which will cause the rules to be displayed between rows; cols, which will cause the rules to be displayed between columns; all, which will cause the rules to be displayed between rows and columns. To achieve a similar effect, apply the border property to the appropriate <thead>, <tbody>, <tfoot>, <col>, or <colgroup> elements.",
40776
+ "description": "Defines where rules (borders) are displayed in the table. The possible enumerated values are none (default value), groups (<thead>, <tbody>, and <tfoot> elements), rows (horizontal lines), cols (vertical lines), and all (border around every cell). Use the border CSS property on the appropriate table-related elements, as well as on the <table> itself, instead, as this attribute is deprecated.",
41208
40777
  "deprecated": true
41209
40778
  },
41210
40779
  "summary": {
41211
- "description": "This attribute defines an alternative text that summarizes the content of the table. Use the <caption> element instead.",
40780
+ "description": "Defines an alternative text that summarizes the content of the table. Use the <caption> element instead, as this attribute is deprecated.",
41212
40781
  "deprecated": true
41213
40782
  },
41214
40783
  "width": {
41215
- "description": "This attribute defines the width of the table. Use the CSS width property instead.",
40784
+ "description": "Specifies the width of the table. Use the width CSS property instead, as this attribute is deprecated. Note: While no HTML specification includes height as a <table> attribute, some browsers support a non-standard interpretation of height. The unitless value sets a minimum absolute height in pixels. If set as a percent value, the minimum table height will be relative to the parent container's height. Use the min-height CSS property instead, as this attribute is deprecated.",
41216
40785
  "deprecated": true
41217
40786
  }
41218
40787
  }
@@ -41220,7 +40789,7 @@
41220
40789
  {
41221
40790
  "name": "tbody",
41222
40791
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody",
41223
- "description": "The <tbody> HTML element encapsulates a set of table rows (<tr> elements), indicating that they comprise the body of the table (<table>).",
40792
+ "description": "The <tbody> HTML element encapsulates a set of table rows (<tr> elements), indicating that they comprise the body of a table's (main) data.",
41224
40793
  "categories": [],
41225
40794
  "contentModel": {
41226
40795
  "contents": [
@@ -41241,23 +40810,23 @@
41241
40810
  },
41242
40811
  "attributes": {
41243
40812
  "align": {
41244
- "description": "This enumerated attribute specifies how horizontal alignment of each cell content will be handled. Possible values are: left, aligning the content to the left of the cell center, centering the content in the cell right, aligning the content to the right of the cell justify, inserting spaces into the textual content so that the content is justified in the cell char, aligning the textual content on a special character with a minimal offset, defined by the char and charoff attributes. If this attribute is not set, the left value is assumed. As this attribute is deprecated, use the CSS text-align property instead. Note: The equivalent text-align property for the align=\"char\" is not implemented in any browsers yet. See the text-align's browser compatibility section for the <string> value.",
40813
+ "description": "Specifies the horizontal alignment of each body cell. The possible enumerated values are left, center, right, justify, and char. When supported, the char value aligns the textual content on the character defined in the char attribute and on offset defined by the charoff attribute. Use the text-align CSS property instead, as this attribute is deprecated.",
41245
40814
  "deprecated": true
41246
40815
  },
41247
40816
  "bgcolor": {
41248
- "description": "The background color of the table. It is a 6-digit hexadecimal RGB code, prefixed by a '#'. One of the predefined color keywords can also be used. As this attribute is deprecated, use the CSS background-color property instead.",
40817
+ "description": "Defines the background color of each body cell. The value is an HTML color; either a 6-digit hexadecimal RGB code, prefixed by a '#', or a color keyword. Other CSS <color> values are not supported. Use the background-color CSS property instead, as this attribute is deprecated.",
41249
40818
  "deprecated": true
41250
40819
  },
41251
40820
  "char": {
41252
- "description": "This attribute is used to set the character to align the cells in a column on. Typical values for this include a period (.) when attempting to align numbers or monetary values. If align is not set to char, this attribute is ignored.",
40821
+ "description": "Specifies the alignment of the content to a character of each body cell. Typical values for this include a period (.) when attempting to align numbers or monetary values. If align is not set to char, this attribute is ignored.",
41253
40822
  "deprecated": true
41254
40823
  },
41255
40824
  "charoff": {
41256
- "description": "This attribute is used to indicate the number of characters to offset the column data from the alignment characters specified by the char attribute.",
40825
+ "description": "Specifies the number of characters to offset the body cell content from the alignment character specified by the char attribute.",
41257
40826
  "deprecated": true
41258
40827
  },
41259
40828
  "valign": {
41260
- "description": "This attribute specifies the vertical alignment of the text within each row of cells of the table header. Possible values for this attribute are: baseline, which will put the text as close to the bottom of the cell as it is possible, but align it on the baseline of the characters instead of the bottom of them. If characters are all of the size, this has the same effect as bottom. bottom, which will put the text as close to the bottom of the cell as it is possible; middle, which will center the text in the cell; and top, which will put the text as close to the top of the cell as it is possible. As this attribute is deprecated, use the CSS vertical-align property instead.",
40829
+ "description": "Specifies the vertical alignment of each body cell. The possible enumerated values are baseline, bottom, middle, and top. Use the vertical-align CSS property instead, as this attribute is deprecated.",
41261
40830
  "deprecated": true
41262
40831
  }
41263
40832
  }
@@ -41265,7 +40834,7 @@
41265
40834
  {
41266
40835
  "name": "td",
41267
40836
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td",
41268
- "description": "The <td> HTML element defines a cell of a table that contains data. It participates in the table model.",
40837
+ "description": "The <td> HTML element defines a cell of a table that contains data and may be used as a child of the <tr> element.",
41269
40838
  "categories": [],
41270
40839
  "contentModel": {
41271
40840
  "contents": [
@@ -41298,52 +40867,52 @@
41298
40867
  },
41299
40868
  "attributes": {
41300
40869
  "abbr": {
41301
- "description": "This attribute contains a short abbreviated description of the cell's content. Some user-agents, such as speech readers, may present this description before the content itself. Note: Do not use this attribute as it is obsolete in the latest standard. Alternatively, you can put the abbreviated description inside the cell and place the long content in the title attribute.",
40870
+ "description": "Contains a short abbreviated description of the data cell's content. Some user-agents, such as speech readers, may present this description before the content itself. Put the abbreviated content inside the cell and place the (longer) description in the title attribute, as this attribute is deprecated. Or, preferably, include the content within the data cell, and use CSS to visually clip overflowing text.",
41302
40871
  "deprecated": true
41303
40872
  },
41304
40873
  "align": {
41305
- "description": "This enumerated attribute specifies how the cell content's horizontal alignment will be handled. Possible values are: left: The content is aligned to the left of the cell. center: The content is centered in the cell. right: The content is aligned to the right of the cell. justify (with text only): The content is stretched out inside the cell so that it covers its entire width. char (with text only): The content is aligned to a character inside the <th> element with minimal offset. This character is defined by the char and charoff attributes. The default value when this attribute is not specified is left. Note: To achieve the same effect as the left, center, right or justify values, apply the CSS text-align property to the element. To achieve the same effect as the char value, give the text-align property the same value you would use for the char.",
40874
+ "description": "Specifies the horizontal alignment of the data cell. The possible enumerated values are left, center, right, justify, and char. When supported, the char value aligns the textual content on the character defined in the char attribute and the offset defined by the charoff attribute. Use the text-align CSS property instead, as this attribute is deprecated.",
41306
40875
  "deprecated": true
41307
40876
  },
41308
40877
  "axis": {
41309
- "description": "This attribute contains a list of space-separated strings. Each string is the id of a group of cells that this header applies to.",
40878
+ "description": "Contains a list of space-separated strings, each corresponding to the id attribute of a group of cells that the data cell applies to.",
41310
40879
  "deprecated": true
41311
40880
  },
41312
40881
  "bgcolor": {
41313
- "description": "This attribute defines the background color of each cell in a column. It is a 6-digit hexadecimal RGB code, prefixed by a '#'. One of the predefined color keywords can also be used. To achieve a similar effect, use the CSS background-color property.",
40882
+ "description": "Defines the background color of the data cell. The value is an HTML color; either a 6-digit hexadecimal RGB code, prefixed by a '#', or a color keyword. Other CSS <color> values are not supported. Use the background-color CSS property instead, as this attribute is deprecated.",
41314
40883
  "deprecated": true
41315
40884
  },
41316
40885
  "char": {
41317
- "description": "The content in the cell element is aligned to a character. Typical values include a period (.) to align numbers or monetary values. If align is not set to char, this attribute is ignored.",
40886
+ "description": "Specifies the alignment of the content to a character of the data cell. Typical values for this include a period (.) when attempting to align numbers or monetary values. If align is not set to char, this attribute is ignored.",
41318
40887
  "deprecated": true
41319
40888
  },
41320
40889
  "charoff": {
41321
- "description": "This attribute is used to shift column data to the right of the character specified by the char attribute. Its value specifies the length of this shift.",
40890
+ "description": "Specifies the number of characters to offset the data cell content from the alignment character specified by the char attribute.",
41322
40891
  "deprecated": true
41323
40892
  },
41324
40893
  "colspan": {
41325
- "description": "This attribute contains a non-negative integer value that indicates for how many columns the cell extends. Its default value is 1. Values higher than 1000 will be considered as incorrect and will be set to the default value (1)."
40894
+ "description": "Contains a non-negative integer value that indicates how many columns the data cell spans or extends. The default value is 1. User agents dismiss values higher than 1000 as incorrect, setting to the default value (1)."
41326
40895
  },
41327
40896
  "headers": {
41328
- "description": "This attribute contains a list of space-separated strings, each corresponding to the id attribute of the <th> elements that apply to this element."
40897
+ "description": "Contains a list of space-separated strings, each corresponding to the id attribute of the <th> elements that provide headings for this table cell."
41329
40898
  },
41330
40899
  "height": {
41331
- "description": "This attribute is used to define a recommended cell height. Use the CSS height property instead.",
40900
+ "description": "Defines a recommended data cell height. Use the height CSS property instead, as this attribute is deprecated.",
41332
40901
  "deprecated": true
41333
40902
  },
41334
40903
  "rowspan": {
41335
- "description": "This attribute contains a non-negative integer value that indicates for how many rows the cell extends. Its default value is 1; if its value is set to 0, it extends until the end of the table section (<thead>, <tbody>, <tfoot>, even if implicitly defined), that the cell belongs to. Values higher than 65534 are clipped down to 65534."
40904
+ "description": "Contains a non-negative integer value that indicates for how many rows the data cell spans or extends. The default value is 1; if its value is set to 0, it extends until the end of the table grouping section (<thead>, <tbody>, <tfoot>, even if implicitly defined), that the cell belongs to. Values higher than 65534 are clipped to 65534."
41336
40905
  },
41337
40906
  "scope": {
41338
- "description": "This enumerated attribute defines the cells that the header (defined in the <th>) element relates to. Only use this attribute with the <th> element to define the row or column for which it is a header.",
40907
+ "description": "Defines the cells that the header (defined in the <th>) element relates to. The possible enumerated values are row, col, rowgroup, and colgroup. Only use this attribute with the <th> element to define the row or column for which it is a header, as this attribute is deprecated for the <td> element.",
41339
40908
  "deprecated": true
41340
40909
  },
41341
40910
  "valign": {
41342
- "description": "This attribute specifies how a text is vertically aligned inside a cell. Possible values for this attribute are: baseline: Positions the text near the bottom of the cell and aligns it with the baseline of the characters instead of the bottom. If characters don't descend below the baseline, the baseline value achieves the same effect as bottom. bottom: Positions the text near the bottom of the cell. middle: Centers the text in the cell. and top: Positions the text near the top of the cell. To achieve a similar effect, use the CSS vertical-align property.",
40911
+ "description": "Specifies the vertical alignment of the data cell. The possible enumerated values are baseline, bottom, middle, and top. Use the vertical-align CSS property instead, as this attribute is deprecated.",
41343
40912
  "deprecated": true
41344
40913
  },
41345
40914
  "width": {
41346
- "description": "This attribute is used to define a recommended cell width. Use the CSS width property instead.",
40915
+ "description": "Defines a recommended data cell width. Use the width CSS property instead, as this attribute is deprecated.",
41347
40916
  "deprecated": true
41348
40917
  }
41349
40918
  }
@@ -41351,7 +40920,7 @@
41351
40920
  {
41352
40921
  "name": "template",
41353
40922
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template",
41354
- "description": "The <template> HTML element is a mechanism for holding HTML that is not to be rendered immediately when a page is loaded but may be instantiated subsequently during runtime using JavaScript.",
40923
+ "description": "The <template> HTML element serves as a mechanism for holding HTML fragments, which can either be used later via JavaScript or generated immediately into shadow DOM.",
41355
40924
  "categories": ["#metadata", "#flow", "#phrasing", "#script-supporting"],
41356
40925
  "contentModel": {
41357
40926
  "contents": true
@@ -41367,7 +40936,18 @@
41367
40936
  "#GlobalEventAttrs": true,
41368
40937
  "#HTMLGlobalAttrs": true
41369
40938
  },
41370
- "attributes": {}
40939
+ "attributes": {
40940
+ "shadowrootdelegatesfocus": {
40941
+ "type": "Boolean"
40942
+ },
40943
+ "shadowrootmode": {
40944
+ "type": {
40945
+ "enum": ["open", "closed"],
40946
+ "missingValueDefault": "none",
40947
+ "invalidValueDefault": "none"
40948
+ }
40949
+ }
40950
+ }
41371
40951
  },
41372
40952
  {
41373
40953
  "name": "textarea",
@@ -41407,6 +40987,9 @@
41407
40987
  "#HTMLGlobalAttrs": true
41408
40988
  },
41409
40989
  "attributes": {
40990
+ "autocapitalize": {
40991
+ "description": "Controls whether inputted text is automatically capitalized and, if so, in what manner. See the autocapitalize global attribute page for more information."
40992
+ },
41410
40993
  "autocomplete": {
41411
40994
  "description": "This attribute indicates whether the value of the control can be automatically completed by the browser. Possible values are: off: The user must explicitly enter a value into this field for every use, or the document provides its own auto-completion method; the browser does not automatically complete the entry. on: The browser can automatically complete the value based on values that the user has entered during previous uses. If the autocomplete attribute is not specified on a <textarea> element, then the browser uses the autocomplete attribute value of the <textarea> element's form owner. The form owner is either the <form> element that this <textarea> element is a descendant of or the form element whose id is specified by the form attribute of the input element. For more information, see the autocomplete attribute in <form>."
41412
40995
  },
@@ -41424,6 +41007,9 @@
41424
41007
  },
41425
41008
  "defaultValue": "20"
41426
41009
  },
41010
+ "dirname": {
41011
+ "description": "This attribute is used to indicate the text directionality of the element contents similar to the dirname attribute of the <input> element. For more information, see the dirname attribute."
41012
+ },
41427
41013
  "disabled": {
41428
41014
  "description": "This Boolean attribute indicates that the user cannot interact with the control. If this attribute is not specified, the control inherits its setting from the containing element, for example <fieldset>; if there is no containing element when the disabled attribute is set, the control is enabled."
41429
41015
  },
@@ -41470,7 +41056,7 @@
41470
41056
  {
41471
41057
  "name": "tfoot",
41472
41058
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tfoot",
41473
- "description": "The <tfoot> HTML element defines a set of rows summarizing the columns of the table.",
41059
+ "description": "The <tfoot> HTML element encapsulates a set of table rows (<tr> elements), indicating that they comprise the foot of a table with information about the table's columns. This is usually a summary of the columns, e.g., a sum of the given numbers in a column.",
41474
41060
  "categories": [],
41475
41061
  "contentModel": {
41476
41062
  "contents": [
@@ -41491,23 +41077,23 @@
41491
41077
  },
41492
41078
  "attributes": {
41493
41079
  "align": {
41494
- "description": "This enumerated attribute specifies how horizontal alignment of each cell content will be handled. Possible values are: left, aligning the content to the left of the cell center, centering the content in the cell right, aligning the content to the right of the cell justify, inserting spaces into the textual content so that the content is justified in the cell char, aligning the textual content on a special character with a minimal offset, defined by the char and charoff attributes. If this attribute is not set, the left value is assumed. Note: To achieve the same effect as the left, center, right or justify values, use the CSS text-align property on it. To achieve the same effect as the char value, in CSS, you can use the value of the char as the value of the text-align property.",
41080
+ "description": "Specifies the horizontal alignment of each foot cell. The possible enumerated values are left, center, right, justify, and char. When supported, the char value aligns the textual content on the character defined in the char attribute and on offset defined by the charoff attribute. Use the text-align CSS property instead, as this attribute is deprecated.",
41495
41081
  "deprecated": true
41496
41082
  },
41497
41083
  "bgcolor": {
41498
- "description": "The background color of the table. It is a 6-digit hexadecimal RGB code, prefixed by a '#'. One of the predefined color keywords can also be used. To achieve a similar effect, use the CSS background-color property.",
41084
+ "description": "Defines the background color of each foot cell. The value is an HTML color; either a 6-digit hexadecimal RGB code, prefixed by a '#', or a color keyword. Other CSS <color> values are not supported. Use the background-color CSS property instead, as this attribute is deprecated.",
41499
41085
  "deprecated": true
41500
41086
  },
41501
41087
  "char": {
41502
- "description": "This attribute specifies the alignment of the content in a column to a character. Typical values for this include a period (.) when attempting to align numbers or monetary values. If align is not set to char, this attribute is ignored.",
41088
+ "description": "Specifies the alignment of the content to a character of each foot cell. Typical values for this include a period (.) when attempting to align numbers or monetary values. If align is not set to char, this attribute is ignored.",
41503
41089
  "deprecated": true
41504
41090
  },
41505
41091
  "charoff": {
41506
- "description": "This attribute is used to indicate the number of characters to offset the column data from the alignment characters specified by the char attribute.",
41092
+ "description": "Specifies the number of characters to offset the foot cell content from the alignment character specified by the char attribute.",
41507
41093
  "deprecated": true
41508
41094
  },
41509
41095
  "valign": {
41510
- "description": "This attribute specifies the vertical alignment of the text within each row of cells of the table footer. Possible values for this attribute are: baseline, which will put the text as close to the bottom of the cell as it is possible, but align it on the baseline of the characters instead of the bottom of them. If characters are all of the size, this has the same effect as bottom. bottom, which will put the text as close to the bottom of the cell as it is possible; middle, which will center the text in the cell; and top, which will put the text as close to the top of the cell as it is possible. Note: Do not use this attribute as it is obsolete (and not supported) in the latest standard: instead set the CSS vertical-align property on it.",
41096
+ "description": "Specifies the vertical alignment of each foot cell. The possible enumerated values are baseline, bottom, middle, and top. Use the vertical-align CSS property instead, as this attribute is deprecated.",
41511
41097
  "deprecated": true
41512
41098
  }
41513
41099
  }
@@ -41515,7 +41101,7 @@
41515
41101
  {
41516
41102
  "name": "th",
41517
41103
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th",
41518
- "description": "The <th> HTML element defines a cell as the header of a group of table cells. The exact nature of this group is defined by the scope and headers attributes.",
41104
+ "description": "The <th> HTML element defines a cell as the header of a group of table cells and may be used as a child of the <tr> element. The exact nature of this group is defined by the scope and headers attributes.",
41519
41105
  "categories": [],
41520
41106
  "contentModel": {
41521
41107
  "contents": [
@@ -41563,37 +41149,37 @@
41563
41149
  "type": "Any"
41564
41150
  },
41565
41151
  "align": {
41566
- "description": "This enumerated attribute specifies how the cell content's horizontal alignment will be handled. Possible values are: left: The content is aligned to the left of the cell. center: The content is centered in the cell. right: The content is aligned to the right of the cell. justify (with text only): The content is stretched out inside the cell so that it covers its entire width. char (with text only): The content is aligned to a character inside the <th> element with minimal offset. This character is defined by the char and charoff attributes. The default value when this attribute is not specified is left. Note: Do not use this attribute as it is obsolete in the latest standard. To achieve the same effect as the left, center, right or justify values, apply the CSS text-align property to the element. To achieve the same effect as the char value, give the text-align property the same value you would use for the char.",
41152
+ "description": "Specifies the horizontal alignment of the header cell. The possible enumerated values are left, center, right, justify, and char. When supported, the char value aligns the textual content on the character defined in the char attribute and the offset defined by the charoff attribute. Use the text-align CSS property instead, as this attribute is deprecated.",
41567
41153
  "deprecated": true
41568
41154
  },
41569
41155
  "axis": {
41570
- "description": "This attribute contains a list of space-separated strings. Each string is the id of a group of cells that this header applies to. Note: Do not use this attribute as it is obsolete in the latest standard: use the scope attribute instead.",
41156
+ "description": "Contains a list of space-separated strings, each corresponding to the id attribute of a group of cells that the header cell applies to. Use the scope attribute instead, as this attribute is deprecated.",
41571
41157
  "deprecated": true
41572
41158
  },
41573
41159
  "bgcolor": {
41574
- "description": "This attribute defines the background color of each cell in a column. It consists of a 6-digit hexadecimal code as defined in sRGB and is prefixed by '#'.",
41160
+ "description": "Defines the background color of the header cell. The value is an HTML color; either a 6-digit hexadecimal RGB code, prefixed by a '#', or a color keyword. Other CSS <color> values are not supported. Use the background-color CSS property instead, as this attribute is deprecated.",
41575
41161
  "deprecated": true
41576
41162
  },
41577
41163
  "char": {
41578
- "description": "The content in the cell element is aligned to a character. Typical values include a period (.) to align numbers or monetary values. If align is not set to char, this attribute is ignored. Note: Do not use this attribute as it is obsolete in the latest standard. To achieve the same effect, you can specify the character as the first value of the text-align property.",
41164
+ "description": "Specifies the alignment of the content to a character of the header cell. Typical values for this include a period (.) when attempting to align numbers or monetary values. If align is not set to char, this attribute is ignored.",
41579
41165
  "deprecated": true
41580
41166
  },
41581
41167
  "charoff": {
41582
- "description": "This attribute is used to shift column data to the right of the character specified by the char attribute. Its value specifies the length of this shift. Note: Do not use this attribute as it is obsolete in the latest standard.",
41168
+ "description": "Specifies the number of characters to offset the header cell content from the alignment character specified by the char attribute.",
41583
41169
  "deprecated": true
41584
41170
  },
41585
41171
  "colspan": {
41586
- "description": "This attribute contains a non-negative integer value that indicates for how many columns the cell extends. Its default value is 1. Values higher than 1000 will be considered as incorrect and will be set to the default value (1)."
41172
+ "description": "A non-negative integer value indicating how many columns the header cell spans or extends. The default value is 1. User agents dismiss values higher than 1000 as incorrect, defaulting such values to 1."
41587
41173
  },
41588
41174
  "headers": {
41589
- "description": "This attribute contains a list of space-separated strings, each corresponding to the id attribute of the <th> elements that apply to this element."
41175
+ "description": "A list of space-separated strings corresponding to the id attributes of the <th> elements that provide the headers for this header cell."
41590
41176
  },
41591
41177
  "height": {
41592
- "description": "This attribute is used to define a recommended cell height. Note: Do not use this attribute as it is obsolete in the latest standard: use the CSS height property instead.",
41178
+ "description": "Defines a recommended header cell height. Use the height CSS property instead, as this attribute is deprecated.",
41593
41179
  "deprecated": true
41594
41180
  },
41595
41181
  "rowspan": {
41596
- "description": "This attribute contains a non-negative integer value that indicates for how many rows the cell extends. Its default value is 1; if its value is set to 0, it extends until the end of the table section (<thead>, <tbody>, <tfoot>, even if implicitly defined), that the cell belongs to. Values higher than 65534 are clipped down to 65534."
41182
+ "description": "A non-negative integer value indicating how many rows the header cell spans or extends. The default value is 1; if its value is set to 0, the header cell will extends to the end of the table grouping section (<thead>, <tbody>, <tfoot>, even if implicitly defined), that the <th> belongs to. Values higher than 65534 are clipped at 65534."
41597
41183
  },
41598
41184
  "scope": {
41599
41185
  "type": {
@@ -41603,11 +41189,11 @@
41603
41189
  }
41604
41190
  },
41605
41191
  "valign": {
41606
- "description": "This attribute specifies how a text is vertically aligned inside a cell. Possible values for this attribute are: baseline: Positions the text near the bottom of the cell and aligns it with the baseline of the characters instead of the bottom. If characters don't descend below the baseline, the baseline value achieves the same effect as bottom. bottom: Positions the text near the bottom of the cell. middle: Centers the text in the cell. and top: Positions the text near the top of the cell. Note: Do not use this attribute as it is obsolete in the latest standard: use the CSS vertical-align property instead.",
41192
+ "description": "Specifies the vertical alignment of the header cell. The possible enumerated values are baseline, bottom, middle, and top. Use the vertical-align CSS property instead, as this attribute is deprecated.",
41607
41193
  "deprecated": true
41608
41194
  },
41609
41195
  "width": {
41610
- "description": "This attribute is used to define a recommended cell width. Additional space can be added with the cellspacing and cellpadding properties and the width of the <col> element can also create extra width. But, if a column's width is too narrow to show a particular cell properly, it will be widened when displayed. Note: Do not use this attribute as it is obsolete in the latest standard: use the CSS width property instead.",
41196
+ "description": "Defines a recommended header cell width. Use the width CSS property instead, as this attribute is deprecated.",
41611
41197
  "deprecated": true
41612
41198
  }
41613
41199
  }
@@ -41615,7 +41201,7 @@
41615
41201
  {
41616
41202
  "name": "thead",
41617
41203
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/thead",
41618
- "description": "The <thead> HTML element defines a set of rows defining the head of the columns of the table.",
41204
+ "description": "The <thead> HTML element encapsulates a set of table rows (<tr> elements), indicating that they comprise the head of a table with information about the table's columns. This is usually in the form of column headers (<th> elements).",
41619
41205
  "categories": [],
41620
41206
  "contentModel": {
41621
41207
  "contents": [
@@ -41636,23 +41222,23 @@
41636
41222
  },
41637
41223
  "attributes": {
41638
41224
  "align": {
41639
- "description": "This enumerated attribute specifies how horizontal alignment of each cell content will be handled. Possible values are: left, aligning the content to the left of the cell center, centering the content in the cell right, aligning the content to the right of the cell justify, inserting spaces into the textual content so that the content is justified in the cell char, aligning the textual content on a special character with a minimal offset, defined by the char and charoff attributes. If this attribute is not set, the left value is assumed. Warning: Do not use this attribute as it is obsolete (not supported) in the latest standard. To align values, use the CSS text-align property instead.",
41225
+ "description": "Specifies the horizontal alignment of each head cell. The possible enumerated values are left, center, right, justify, and char. When supported, the char value aligns the textual content on the character defined in the char attribute and the offset defined by the charoff attribute. Use the text-align CSS property instead, as this attribute is deprecated.",
41640
41226
  "deprecated": true
41641
41227
  },
41642
41228
  "bgcolor": {
41643
- "description": "This attribute defines the background color of each column cell. It accepts a 6-digit hexadecimal color or a named color. Alpha transparency is not supported. Note: Do not use this attribute, as it is non-standard. The thead element should be styled using the CSS background-color property, which can be applied to any element, including the thead, <tr>, <td> and <th> elements.",
41229
+ "description": "Defines the background color of each head cell. The value is an HTML color; either a 6-digit hexadecimal RGB code, prefixed by a '#', or a color keyword. Other CSS <color> values are not supported. Use the background-color CSS property instead, as this attribute is deprecated.",
41644
41230
  "deprecated": true
41645
41231
  },
41646
41232
  "char": {
41647
- "description": "This attribute is used to set the character to align the cells in a column on. Typical values for this include a period (.) when attempting to align numbers or monetary values. If align is not set to char, this attribute is ignored. Note: Do not use this attribute as it is obsolete (and not supported) in the latest standard.",
41233
+ "description": "Specifies the alignment of the content to a character of each head cell. If align is not set to char, this attribute is ignored.",
41648
41234
  "deprecated": true
41649
41235
  },
41650
41236
  "charoff": {
41651
- "description": "This attribute is used to indicate the number of characters to offset the column data from the alignment characters specified by the char attribute. Note: Do not use this attribute as it is obsolete (and not supported) in the latest standard.",
41237
+ "description": "Specifies the number of characters to offset the head cell content from the alignment character specified by the char attribute.",
41652
41238
  "deprecated": true
41653
41239
  },
41654
41240
  "valign": {
41655
- "description": "This attribute specifies the vertical alignment of the text within each row of cells of the table header. Possible values for this attribute are: baseline, which will put the text as close to the bottom of the cell as it is possible, but align it on the baseline of the characters instead of the bottom of them. If characters are all of the size, this has the same effect as bottom. bottom, which will put the text as close to the bottom of the cell as it is possible; middle, which will center the text in the cell; top, which will put the text as close to the top of the cell as it is possible. Note: Do not use this attribute as it is obsolete (and not supported) in the latest standard: instead set the CSS vertical-align property on it.",
41241
+ "description": "Specifies the vertical alignment of each head cell. The possible enumerated values are baseline, bottom, middle, and top. Use the vertical-align CSS property instead, as this attribute is deprecated.",
41656
41242
  "deprecated": true
41657
41243
  }
41658
41244
  }
@@ -41743,23 +41329,23 @@
41743
41329
  },
41744
41330
  "attributes": {
41745
41331
  "align": {
41746
- "description": "A string which specifies how the cell's context should be aligned horizontally within the cells in the row; this is shorthand for using align on every cell in the row individually. Possible values are: left Align the content of each cell at its left edge. center Center the contents of each cell between their left and right edges. right Align the content of each cell at its right edge. justify Widen whitespaces within the text of each cell so that the text fills the full width of each cell (full justification). char Align each cell in the row on a specific character (such that each row in the column that is configured this way will horizontally align its cells on that character). This uses the char and charoff to establish the alignment character (typically \".\" or \",\" when aligning numerical data) and the number of characters that should follow the alignment character. This alignment type was never widely supported. If no value is expressly set for align, the parent node's value is inherited. Note: Instead of using the obsolete align attribute, you should instead use the CSS text-align property to establish left, center, right, or justify alignment for the row's cells. To apply character-based alignment, set the CSS text-align property to the alignment character (such as \".\" or \",\").",
41332
+ "description": "Specifies the horizontal alignment of each row cell. The possible enumerated values are left, center, right, justify, and char. When supported, the char value aligns the textual content on the character defined in the char attribute and on offset defined by the charoff attribute. Use the text-align CSS property instead, as this attribute is deprecated.",
41747
41333
  "deprecated": true
41748
41334
  },
41749
41335
  "bgcolor": {
41750
- "description": "A string specifying a color to apply to the backgrounds of each of the row's cells. This can be either a hexadecimal #RRGGBB or #RGB value or a color keyword. Omitting the attribute or setting it to null in JavaScript causes the row's cells to inherit the row's parent element's background color. Note: The <tr> element should be styled using CSS. To give a similar effect as the bgcolor attribute, use the CSS property background-color.",
41336
+ "description": "Defines the background color of each row cell. The value is an HTML color; either a 6-digit hexadecimal RGB code, prefixed by a '#', or a color keyword. Other CSS <color> values are not supported. Use the background-color CSS property instead, as this attribute is deprecated.",
41751
41337
  "deprecated": true
41752
41338
  },
41753
41339
  "char": {
41754
- "description": "A string that sets the character to align the cells in each row's columns (each row's centering that uses the same character gets aligned with others using the same character. Typical values for this include a period (\".\") or comma (\",\") when attempting to align numbers or monetary values. If align is not set to char, this attribute is ignored. Note: This attribute is obsolete and rarely implemented anyway. To achieve the same effect as the char attribute, set the CSS text-align property to the same string you would specify for the char property, such as text-align: \".\".",
41340
+ "description": "Specifies the alignment of the content to a character of each row cell. Typical values for this include a period (.) when attempting to align numbers or monetary values. If align is not set to char, this attribute is ignored.",
41755
41341
  "deprecated": true
41756
41342
  },
41757
41343
  "charoff": {
41758
- "description": "A string indicating the number of characters on the tail end of the column's data should be displayed after the alignment character specified by the char attribute. For example, when displaying money values for currencies that use hundredths of a unit (such as the dollar, which is divided into 100 cents), you would typically specify a value of 2, so that in tandem with char being set to \".\", the values in a column would be cleanly aligned on the decimal points, with the number of cents properly displayed to the right of the decimal point. Note: This attribute is obsolete, and was never widely supported anyway.",
41344
+ "description": "Specifies the number of characters to offset the row cell content from the alignment character specified by the char attribute.",
41759
41345
  "deprecated": true
41760
41346
  },
41761
41347
  "valign": {
41762
- "description": "A string specifying the vertical alignment of the text within each cell in the row. Possible values for this attribute are: baseline Aligns each cell's content text as closely as possible to the bottom of the cell, handling alignment of different fonts and font sizes by aligning the characters along the baseline of the font(s) used in the row. If all the characters in the row are the same size, the effect is the same as bottom. bottom, Draws the text in each of the row's cells as closely as possible to the bottom edge of those cells. middle Each cell's text is vertically centered. top Each cell's text is drawn as closely as possible to the top edge of the containing cell. Note: Don't use the obsolete valign attribute. Instead, add the CSS vertical-align property to the row.",
41348
+ "description": "Specifies the vertical alignment of each row cell. The possible enumerated values are baseline, bottom, middle, and top. Use the vertical-align CSS property instead, as this attribute is deprecated.",
41763
41349
  "deprecated": true
41764
41350
  }
41765
41351
  }
@@ -42023,8 +41609,7 @@
42023
41609
  "experimental": true
42024
41610
  },
42025
41611
  "disableremoteplayback": {
42026
- "description": "A Boolean attribute used to disable the capability of remote playback in devices that are attached using wired (HDMI, DVI, etc.) and wireless technologies (Miracast, Chromecast, DLNA, AirPlay, etc.). In Safari, you can use x-webkit-airplay=\"deny\" as a fallback.",
42027
- "experimental": true
41612
+ "description": "A Boolean attribute used to disable the capability of remote playback in devices that are attached using wired (HDMI, DVI, etc.) and wireless technologies (Miracast, Chromecast, DLNA, AirPlay, etc.). In Safari, you can use x-webkit-airplay=\"deny\" as a fallback."
42028
41613
  },
42029
41614
  "height": {
42030
41615
  "description": "The height of the video's display area, in CSS pixels (absolute values only; no percentages)."
@@ -46228,7 +45813,8 @@
46228
45813
  "animatable": true
46229
45814
  },
46230
45815
  "xlink:href": {
46231
- "description": "Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.An <IRI> reference to another <linearGradient> element that will be used as a template. Value type: <IRI> ; Default value: none; Animatable: yes"
45816
+ "description": "An <IRI> reference to another <linearGradient> element that will be used as a template. Value type: <IRI> ; Default value: none; Animatable: yes",
45817
+ "deprecated": true
46232
45818
  },
46233
45819
  "y1": {
46234
45820
  "type": ["<svg-length>", "<percentage>"],
@@ -47298,7 +46884,8 @@
47298
46884
  "animatable": true
47299
46885
  },
47300
46886
  "xlink:href": {
47301
- "description": "Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.An <IRI> reference to another <radialGradient> element that will be used as a template. Value type: <IRI> ; Default value: none; Animatable: yes"
46887
+ "description": "An <IRI> reference to another <radialGradient> element that will be used as a template. Value type: <IRI> ; Default value: none; Animatable: yes",
46888
+ "deprecated": true
47302
46889
  }
47303
46890
  }
47304
46891
  },
@@ -48396,6 +47983,7 @@
48396
47983
  "contents": [
48397
47984
  {
48398
47985
  "zeroOrMore": [
47986
+ "#text",
48399
47987
  ":model(SVGDescriptive)",
48400
47988
  ":model(SVGPaintServer)",
48401
47989
  "svg|a",