@markuplint/html-spec 4.0.0-dev.28 → 4.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.json CHANGED
@@ -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,
@@ -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.",
@@ -2893,7 +2537,7 @@
2893
2537
  },
2894
2538
  {
2895
2539
  "name": "cell",
2896
- "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.",
2897
2541
  "generalization": ["section"],
2898
2542
  "requiredContextRole": ["row"],
2899
2543
  "requiredOwnedElements": [],
@@ -3250,7 +2894,7 @@
3250
2894
  },
3251
2895
  {
3252
2896
  "name": "columnheader",
3253
- "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.",
3254
2898
  "generalization": ["cell", "gridcell", "sectionhead"],
3255
2899
  "requiredContextRole": ["row"],
3256
2900
  "requiredOwnedElements": [],
@@ -3877,7 +3521,7 @@
3877
3521
  },
3878
3522
  {
3879
3523
  "name": "composite",
3880
- "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.",
3881
3525
  "isAbstract": true,
3882
3526
  "generalization": ["widget"],
3883
3527
  "requiredContextRole": [],
@@ -5201,7 +4845,7 @@
5201
4845
  },
5202
4846
  {
5203
4847
  "name": "grid",
5204
- "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.",
5205
4849
  "generalization": ["composite", "table"],
5206
4850
  "requiredContextRole": [],
5207
4851
  "requiredOwnedElements": ["caption", "row", "rowgroup > row"],
@@ -5332,7 +4976,7 @@
5332
4976
  },
5333
4977
  {
5334
4978
  "name": "gridcell",
5335
- "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.",
5336
4980
  "generalization": ["cell", "widget"],
5337
4981
  "requiredContextRole": ["row"],
5338
4982
  "requiredOwnedElements": [],
@@ -6521,7 +6165,7 @@
6521
6165
  },
6522
6166
  {
6523
6167
  "name": "listitem",
6524
- "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.",
6525
6169
  "generalization": ["section"],
6526
6170
  "requiredContextRole": ["directory", "list"],
6527
6171
  "requiredOwnedElements": [],
@@ -7457,7 +7101,7 @@
7457
7101
  },
7458
7102
  {
7459
7103
  "name": "menuitem",
7460
- "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.",
7461
7105
  "generalization": ["command"],
7462
7106
  "requiredContextRole": ["menu", "menubar", "menu > group", "menubar > group"],
7463
7107
  "requiredOwnedElements": [],
@@ -7576,7 +7220,7 @@
7576
7220
  },
7577
7221
  {
7578
7222
  "name": "menuitemcheckbox",
7579
- "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.",
7580
7224
  "generalization": ["menuitem"],
7581
7225
  "requiredContextRole": ["menu", "menubar", "menu > group", "menubar > group"],
7582
7226
  "requiredOwnedElements": [],
@@ -7705,7 +7349,7 @@
7705
7349
  },
7706
7350
  {
7707
7351
  "name": "menuitemradio",
7708
- "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.",
7709
7353
  "generalization": ["menuitem"],
7710
7354
  "requiredContextRole": ["menu", "menubar", "menu > group", "menubar > group"],
7711
7355
  "requiredOwnedElements": [],
@@ -8079,7 +7723,7 @@
8079
7723
  },
8080
7724
  {
8081
7725
  "name": "none",
8082
- "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",
8083
7727
  "generalization": ["structure"],
8084
7728
  "requiredContextRole": [],
8085
7729
  "requiredOwnedElements": [],
@@ -8295,7 +7939,7 @@
8295
7939
  },
8296
7940
  {
8297
7941
  "name": "option",
8298
- "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:",
8299
7943
  "generalization": ["input"],
8300
7944
  "requiredContextRole": ["listbox", "listbox > group"],
8301
7945
  "requiredOwnedElements": [],
@@ -9335,16 +8979,9 @@
9335
8979
  },
9336
8980
  {
9337
8981
  "name": "row",
9338
- "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.",
9339
8983
  "generalization": ["group", "widget"],
9340
- "requiredContextRole": [
9341
- "grid",
9342
- "table",
9343
- "treegrid",
9344
- "grid > rowgroup",
9345
- "table > rowgroup",
9346
- "treegrid > rowgroup"
9347
- ],
8984
+ "requiredContextRole": ["grid", "table", "treegrid", "rowgroup"],
9348
8985
  "requiredOwnedElements": ["cell", "columnheader", "gridcell", "rowheader"],
9349
8986
  "accessibleNameRequired": false,
9350
8987
  "accessibleNameFromAuthor": true,
@@ -9483,7 +9120,7 @@
9483
9120
  },
9484
9121
  {
9485
9122
  "name": "rowgroup",
9486
- "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.",
9487
9124
  "generalization": ["structure"],
9488
9125
  "requiredContextRole": ["grid", "table", "treegrid"],
9489
9126
  "requiredOwnedElements": ["row"],
@@ -9597,7 +9234,7 @@
9597
9234
  },
9598
9235
  {
9599
9236
  "name": "rowheader",
9600
- "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.",
9601
9238
  "generalization": ["cell", "gridcell", "sectionhead"],
9602
9239
  "requiredContextRole": ["row"],
9603
9240
  "requiredOwnedElements": [],
@@ -10735,7 +10372,7 @@
10735
10372
  },
10736
10373
  {
10737
10374
  "name": "spinbutton",
10738
- "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.",
10739
10376
  "generalization": ["composite", "input", "range"],
10740
10377
  "requiredContextRole": [],
10741
10378
  "requiredOwnedElements": [],
@@ -11631,7 +11268,7 @@
11631
11268
  },
11632
11269
  {
11633
11270
  "name": "tab",
11634
- "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:",
11635
11272
  "generalization": ["sectionhead", "widget"],
11636
11273
  "requiredContextRole": ["tablist"],
11637
11274
  "requiredOwnedElements": [],
@@ -12674,7 +12311,7 @@
12674
12311
  },
12675
12312
  {
12676
12313
  "name": "tooltip",
12677
- "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.",
12678
12315
  "generalization": ["section"],
12679
12316
  "requiredContextRole": [],
12680
12317
  "requiredOwnedElements": [],
@@ -12911,7 +12548,7 @@
12911
12548
  },
12912
12549
  {
12913
12550
  "name": "treegrid",
12914
- "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.",
12915
12552
  "generalization": ["grid", "tree"],
12916
12553
  "requiredContextRole": [],
12917
12554
  "requiredOwnedElements": ["caption", "row", "rowgroup > row"],
@@ -13050,7 +12687,7 @@
13050
12687
  },
13051
12688
  {
13052
12689
  "name": "treeitem",
13053
- "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:",
13054
12691
  "generalization": ["listitem", "option"],
13055
12692
  "requiredContextRole": ["tree", "treeitem > group"],
13056
12693
  "requiredOwnedElements": [],
@@ -13621,8 +13258,8 @@
13621
13258
  "enum": [],
13622
13259
  "defaultValue": "undefined",
13623
13260
  "valueDescriptions": {
13624
- "false": "The grouping element this element owns or controls is collapsed.",
13625
- "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.",
13626
13263
  "undefined": "The element does not own or control a grouping element that is expandable."
13627
13264
  }
13628
13265
  },
@@ -35615,16 +35252,13 @@
35615
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."
35616
35253
  },
35617
35254
  "controlslist": {
35618
- "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.",
35619
- "experimental": true,
35620
- "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."
35621
35256
  },
35622
35257
  "crossorigin": {
35623
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."
35624
35259
  },
35625
35260
  "disableremoteplayback": {
35626
- "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.",
35627
- "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."
35628
35262
  },
35629
35263
  "loop": {
35630
35264
  "description": "A Boolean attribute: if specified, the audio player will automatically seek back to the start upon reaching the end of the audio."
@@ -35797,16 +35431,13 @@
35797
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."
35798
35432
  },
35799
35433
  "controlslist": {
35800
- "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.",
35801
- "experimental": true,
35802
- "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."
35803
35435
  },
35804
35436
  "crossorigin": {
35805
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."
35806
35438
  },
35807
35439
  "disableremoteplayback": {
35808
- "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.",
35809
- "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."
35810
35441
  },
35811
35442
  "loop": {
35812
35443
  "description": "A Boolean attribute: if specified, the audio player will automatically seek back to the start upon reaching the end of the audio."
@@ -36134,10 +35765,6 @@
36134
35765
  "#HTMLGlobalAttrs": true
36135
35766
  },
36136
35767
  "attributes": {
36137
- "autocomplete": {
36138
- "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.",
36139
- "nonStandard": true
36140
- },
36141
35768
  "autofocus": {
36142
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."
36143
35770
  },
@@ -36228,7 +35855,7 @@
36228
35855
  {
36229
35856
  "name": "caption",
36230
35857
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/caption",
36231
- "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.",
36232
35859
  "categories": [],
36233
35860
  "contentModel": {
36234
35861
  "contents": [
@@ -36256,7 +35883,7 @@
36256
35883
  },
36257
35884
  "attributes": {
36258
35885
  "align": {
36259
- "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.",
36260
35887
  "deprecated": true
36261
35888
  }
36262
35889
  }
@@ -36334,7 +35961,7 @@
36334
35961
  {
36335
35962
  "name": "col",
36336
35963
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/col",
36337
- "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.",
36338
35965
  "categories": [],
36339
35966
  "contentModel": {
36340
35967
  "contents": false
@@ -36352,19 +35979,19 @@
36352
35979
  },
36353
35980
  "attributes": {
36354
35981
  "align": {
36355
- "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.",
36356
35983
  "deprecated": true
36357
35984
  },
36358
35985
  "bgcolor": {
36359
- "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.",
36360
35987
  "deprecated": true
36361
35988
  },
36362
35989
  "char": {
36363
- "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.",
36364
35991
  "deprecated": true
36365
35992
  },
36366
35993
  "charoff": {
36367
- "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.",
36368
35995
  "deprecated": true
36369
35996
  },
36370
35997
  "span": {
@@ -36377,11 +36004,11 @@
36377
36004
  "defaultValue": "1"
36378
36005
  },
36379
36006
  "valign": {
36380
- "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.",
36381
36008
  "deprecated": true
36382
36009
  },
36383
36010
  "width": {
36384
- "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.",
36385
36012
  "deprecated": true
36386
36013
  }
36387
36014
  }
@@ -36417,19 +36044,19 @@
36417
36044
  },
36418
36045
  "attributes": {
36419
36046
  "align": {
36420
- "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.",
36421
36048
  "deprecated": true
36422
36049
  },
36423
36050
  "bgcolor": {
36424
- "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.",
36425
36052
  "deprecated": true
36426
36053
  },
36427
36054
  "char": {
36428
- "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.",
36429
36056
  "deprecated": true
36430
36057
  },
36431
36058
  "charoff": {
36432
- "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.",
36433
36060
  "deprecated": true
36434
36061
  },
36435
36062
  "span": {
@@ -36442,7 +36069,11 @@
36442
36069
  "defaultValue": "1"
36443
36070
  },
36444
36071
  "valign": {
36445
- "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.",
36446
36077
  "deprecated": true
36447
36078
  }
36448
36079
  }
@@ -36545,13 +36176,7 @@
36545
36176
  "#GlobalEventAttrs": true,
36546
36177
  "#HTMLGlobalAttrs": true
36547
36178
  },
36548
- "attributes": {
36549
- "nowrap": {
36550
- "description": "If the value of this attribute is set to yes, the definition text will not wrap. The default value is no.",
36551
- "deprecated": true,
36552
- "nonStandard": true
36553
- }
36554
- }
36179
+ "attributes": {}
36555
36180
  },
36556
36181
  {
36557
36182
  "name": "del",
@@ -36618,6 +36243,9 @@
36618
36243
  "#HTMLGlobalAttrs": true
36619
36244
  },
36620
36245
  "attributes": {
36246
+ "name": {
36247
+ "type": "NoEmptyAny"
36248
+ },
36621
36249
  "open": {
36622
36250
  "type": "Boolean"
36623
36251
  }
@@ -36948,7 +36576,7 @@
36948
36576
  {
36949
36577
  "name": "figcaption",
36950
36578
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/figcaption",
36951
- "description": "The <figcaption> HTML element represents a caption or legend describing the rest of the contents of its parent <figure> element.",
36579
+ "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.",
36952
36580
  "categories": [],
36953
36581
  "contentModel": {
36954
36582
  "contents": [
@@ -37131,8 +36759,7 @@
37131
36759
  "type": "URL"
37132
36760
  },
37133
36761
  "autocapitalize": {
37134
- "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.",
37135
- "nonStandard": true
36762
+ "description": "Controls whether inputted text is automatically capitalized and, if so, in what manner. See the autocapitalize global attribute page for more information."
37136
36763
  },
37137
36764
  "autocomplete": {
37138
36765
  "type": {
@@ -37693,7 +37320,8 @@
37693
37320
  },
37694
37321
  "allowpaymentrequest": {
37695
37322
  "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\".",
37696
- "experimental": true
37323
+ "deprecated": true,
37324
+ "nonStandard": true
37697
37325
  },
37698
37326
  "credentialless": {
37699
37327
  "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.",
@@ -37712,7 +37340,7 @@
37712
37340
  "description": "The height of the frame in CSS pixels. Default is 150."
37713
37341
  },
37714
37342
  "loading": {
37715
- "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."
37343
+ "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."
37716
37344
  },
37717
37345
  "longdesc": {
37718
37346
  "description": "A URL of a long description of the frame's content. Due to widespread misuse, this is not helpful for non-visual browsers.",
@@ -37730,7 +37358,7 @@
37730
37358
  "type": "NavigableTargetName"
37731
37359
  },
37732
37360
  "referrerpolicy": {
37733
- "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."
37361
+ "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."
37734
37362
  },
37735
37363
  "sandbox": {
37736
37364
  "type": {
@@ -37758,7 +37386,7 @@
37758
37386
  }
37759
37387
  },
37760
37388
  "scrolling": {
37761
- "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.",
37389
+ "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.",
37762
37390
  "deprecated": true
37763
37391
  },
37764
37392
  "src": {
@@ -37879,8 +37507,7 @@
37879
37507
  "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."
37880
37508
  },
37881
37509
  "fetchpriority": {
37882
- "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.",
37883
- "experimental": true
37510
+ "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."
37884
37511
  },
37885
37512
  "height": {
37886
37513
  "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."
@@ -37894,7 +37521,7 @@
37894
37521
  "condition": "a[href] img"
37895
37522
  },
37896
37523
  "loading": {
37897
- "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."
37524
+ "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."
37898
37525
  },
37899
37526
  "longdesc": {
37900
37527
  "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.",
@@ -38443,8 +38070,7 @@
38443
38070
  "condition": "[type='image' i]"
38444
38071
  },
38445
38072
  "autocapitalize": {
38446
- "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.",
38447
- "nonStandard": true
38073
+ "description": "Controls whether inputted text is automatically capitalized and, if so, in what manner. See the autocapitalize global attribute page for more information."
38448
38074
  },
38449
38075
  "autocomplete": {
38450
38076
  "condition": [
@@ -38483,12 +38109,14 @@
38483
38109
  "dirname": {
38484
38110
  "condition": [
38485
38111
  ":not([type])",
38112
+ "[type='hidden' i]",
38486
38113
  "[type='text' i]",
38487
38114
  "[type='search' i]",
38488
- "[type='hidden' i]",
38489
38115
  "[type='tel' i]",
38490
38116
  "[type='url' i]",
38491
- "[type='email' i]"
38117
+ "[type='email' i]",
38118
+ "[type='password' i]",
38119
+ "[type='submit' i]"
38492
38120
  ]
38493
38121
  },
38494
38122
  "disabled": {
@@ -39043,8 +38671,7 @@
39043
38671
  "type": "Boolean"
39044
38672
  },
39045
38673
  "fetchpriority": {
39046
- "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.",
39047
- "experimental": true
38674
+ "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."
39048
38675
  },
39049
38676
  "href": {
39050
38677
  "description": "This attribute specifies the URL of the linked resource. A URL can be absolute or relative."
@@ -39069,7 +38696,7 @@
39069
38696
  "requiredEither": ["rel"]
39070
38697
  },
39071
38698
  "media": {
39072
- "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."
38699
+ "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."
39073
38700
  },
39074
38701
  "methods": {
39075
38702
  "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.",
@@ -39102,7 +38729,8 @@
39102
38729
  "prerender",
39103
38730
  "prev",
39104
38731
  "search",
39105
- "stylesheet"
38732
+ "stylesheet",
38733
+ "terms-of-service"
39106
38734
  ]
39107
38735
  },
39108
38736
  "unique": true,
@@ -40505,8 +40133,7 @@
40505
40133
  "ineffective": ["[type='module' i]", ":not([src])", "[async]"]
40506
40134
  },
40507
40135
  "fetchpriority": {
40508
- "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.",
40509
- "experimental": true
40136
+ "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."
40510
40137
  },
40511
40138
  "integrity": {
40512
40139
  "condition": "[src]"
@@ -40776,7 +40403,7 @@
40776
40403
  {
40777
40404
  "name": "source",
40778
40405
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/source",
40779
- "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.",
40406
+ "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.",
40780
40407
  "categories": [],
40781
40408
  "contentModel": {
40782
40409
  "contents": false
@@ -41054,7 +40681,7 @@
41054
40681
  {
41055
40682
  "name": "table",
41056
40683
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/table",
41057
- "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.",
40684
+ "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.",
41058
40685
  "categories": ["#flow"],
41059
40686
  "contentModel": {
41060
40687
  "contents": [
@@ -41116,39 +40743,39 @@
41116
40743
  },
41117
40744
  "attributes": {
41118
40745
  "align": {
41119
- "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;",
40746
+ "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.",
41120
40747
  "deprecated": true
41121
40748
  },
41122
40749
  "bgcolor": {
41123
- "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.",
40750
+ "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.",
41124
40751
  "deprecated": true
41125
40752
  },
41126
40753
  "border": {
41127
- "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.",
40754
+ "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.",
41128
40755
  "deprecated": true
41129
40756
  },
41130
40757
  "cellpadding": {
41131
- "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.",
40758
+ "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.",
41132
40759
  "deprecated": true
41133
40760
  },
41134
40761
  "cellspacing": {
41135
- "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.",
40762
+ "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.",
41136
40763
  "deprecated": true
41137
40764
  },
41138
40765
  "frame": {
41139
- "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.",
40766
+ "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.",
41140
40767
  "deprecated": true
41141
40768
  },
41142
40769
  "rules": {
41143
- "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.",
40770
+ "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.",
41144
40771
  "deprecated": true
41145
40772
  },
41146
40773
  "summary": {
41147
- "description": "This attribute defines an alternative text that summarizes the content of the table. Use the <caption> element instead.",
40774
+ "description": "Defines an alternative text that summarizes the content of the table. Use the <caption> element instead, as this attribute is deprecated.",
41148
40775
  "deprecated": true
41149
40776
  },
41150
40777
  "width": {
41151
- "description": "This attribute defines the width of the table. Use the CSS width property instead.",
40778
+ "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.",
41152
40779
  "deprecated": true
41153
40780
  }
41154
40781
  }
@@ -41156,7 +40783,7 @@
41156
40783
  {
41157
40784
  "name": "tbody",
41158
40785
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tbody",
41159
- "description": "The <tbody> HTML element encapsulates a set of table rows (<tr> elements), indicating that they comprise the body of the table (<table>).",
40786
+ "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.",
41160
40787
  "categories": [],
41161
40788
  "contentModel": {
41162
40789
  "contents": [
@@ -41177,23 +40804,23 @@
41177
40804
  },
41178
40805
  "attributes": {
41179
40806
  "align": {
41180
- "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.",
40807
+ "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.",
41181
40808
  "deprecated": true
41182
40809
  },
41183
40810
  "bgcolor": {
41184
- "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.",
40811
+ "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.",
41185
40812
  "deprecated": true
41186
40813
  },
41187
40814
  "char": {
41188
- "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.",
40815
+ "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.",
41189
40816
  "deprecated": true
41190
40817
  },
41191
40818
  "charoff": {
41192
- "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.",
40819
+ "description": "Specifies the number of characters to offset the body cell content from the alignment character specified by the char attribute.",
41193
40820
  "deprecated": true
41194
40821
  },
41195
40822
  "valign": {
41196
- "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.",
40823
+ "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.",
41197
40824
  "deprecated": true
41198
40825
  }
41199
40826
  }
@@ -41201,7 +40828,7 @@
41201
40828
  {
41202
40829
  "name": "td",
41203
40830
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/td",
41204
- "description": "The <td> HTML element defines a cell of a table that contains data. It participates in the table model.",
40831
+ "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.",
41205
40832
  "categories": [],
41206
40833
  "contentModel": {
41207
40834
  "contents": [
@@ -41234,52 +40861,52 @@
41234
40861
  },
41235
40862
  "attributes": {
41236
40863
  "abbr": {
41237
- "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.",
40864
+ "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.",
41238
40865
  "deprecated": true
41239
40866
  },
41240
40867
  "align": {
41241
- "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.",
40868
+ "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.",
41242
40869
  "deprecated": true
41243
40870
  },
41244
40871
  "axis": {
41245
- "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.",
40872
+ "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.",
41246
40873
  "deprecated": true
41247
40874
  },
41248
40875
  "bgcolor": {
41249
- "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.",
40876
+ "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.",
41250
40877
  "deprecated": true
41251
40878
  },
41252
40879
  "char": {
41253
- "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.",
40880
+ "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.",
41254
40881
  "deprecated": true
41255
40882
  },
41256
40883
  "charoff": {
41257
- "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.",
40884
+ "description": "Specifies the number of characters to offset the data cell content from the alignment character specified by the char attribute.",
41258
40885
  "deprecated": true
41259
40886
  },
41260
40887
  "colspan": {
41261
- "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)."
40888
+ "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)."
41262
40889
  },
41263
40890
  "headers": {
41264
- "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."
40891
+ "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."
41265
40892
  },
41266
40893
  "height": {
41267
- "description": "This attribute is used to define a recommended cell height. Use the CSS height property instead.",
40894
+ "description": "Defines a recommended data cell height. Use the height CSS property instead, as this attribute is deprecated.",
41268
40895
  "deprecated": true
41269
40896
  },
41270
40897
  "rowspan": {
41271
- "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."
40898
+ "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."
41272
40899
  },
41273
40900
  "scope": {
41274
- "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.",
40901
+ "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.",
41275
40902
  "deprecated": true
41276
40903
  },
41277
40904
  "valign": {
41278
- "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.",
40905
+ "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.",
41279
40906
  "deprecated": true
41280
40907
  },
41281
40908
  "width": {
41282
- "description": "This attribute is used to define a recommended cell width. Use the CSS width property instead.",
40909
+ "description": "Defines a recommended data cell width. Use the width CSS property instead, as this attribute is deprecated.",
41283
40910
  "deprecated": true
41284
40911
  }
41285
40912
  }
@@ -41287,7 +40914,7 @@
41287
40914
  {
41288
40915
  "name": "template",
41289
40916
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template",
41290
- "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.",
40917
+ "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.",
41291
40918
  "categories": ["#metadata", "#flow", "#phrasing", "#script-supporting"],
41292
40919
  "contentModel": {
41293
40920
  "contents": true
@@ -41303,7 +40930,18 @@
41303
40930
  "#GlobalEventAttrs": true,
41304
40931
  "#HTMLGlobalAttrs": true
41305
40932
  },
41306
- "attributes": {}
40933
+ "attributes": {
40934
+ "shadowrootdelegatesfocus": {
40935
+ "type": "Boolean"
40936
+ },
40937
+ "shadowrootmode": {
40938
+ "type": {
40939
+ "enum": ["open", "closed"],
40940
+ "missingValueDefault": "none",
40941
+ "invalidValueDefault": "none"
40942
+ }
40943
+ }
40944
+ }
41307
40945
  },
41308
40946
  {
41309
40947
  "name": "textarea",
@@ -41343,6 +40981,9 @@
41343
40981
  "#HTMLGlobalAttrs": true
41344
40982
  },
41345
40983
  "attributes": {
40984
+ "autocapitalize": {
40985
+ "description": "Controls whether inputted text is automatically capitalized and, if so, in what manner. See the autocapitalize global attribute page for more information."
40986
+ },
41346
40987
  "autocomplete": {
41347
40988
  "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>."
41348
40989
  },
@@ -41409,7 +41050,7 @@
41409
41050
  {
41410
41051
  "name": "tfoot",
41411
41052
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tfoot",
41412
- "description": "The <tfoot> HTML element defines a set of rows summarizing the columns of the table.",
41053
+ "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.",
41413
41054
  "categories": [],
41414
41055
  "contentModel": {
41415
41056
  "contents": [
@@ -41430,23 +41071,23 @@
41430
41071
  },
41431
41072
  "attributes": {
41432
41073
  "align": {
41433
- "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.",
41074
+ "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.",
41434
41075
  "deprecated": true
41435
41076
  },
41436
41077
  "bgcolor": {
41437
- "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.",
41078
+ "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.",
41438
41079
  "deprecated": true
41439
41080
  },
41440
41081
  "char": {
41441
- "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.",
41082
+ "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.",
41442
41083
  "deprecated": true
41443
41084
  },
41444
41085
  "charoff": {
41445
- "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.",
41086
+ "description": "Specifies the number of characters to offset the foot cell content from the alignment character specified by the char attribute.",
41446
41087
  "deprecated": true
41447
41088
  },
41448
41089
  "valign": {
41449
- "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.",
41090
+ "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.",
41450
41091
  "deprecated": true
41451
41092
  }
41452
41093
  }
@@ -41454,7 +41095,7 @@
41454
41095
  {
41455
41096
  "name": "th",
41456
41097
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/th",
41457
- "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.",
41098
+ "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.",
41458
41099
  "categories": [],
41459
41100
  "contentModel": {
41460
41101
  "contents": [
@@ -41502,37 +41143,37 @@
41502
41143
  "type": "Any"
41503
41144
  },
41504
41145
  "align": {
41505
- "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.",
41146
+ "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.",
41506
41147
  "deprecated": true
41507
41148
  },
41508
41149
  "axis": {
41509
- "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.",
41150
+ "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.",
41510
41151
  "deprecated": true
41511
41152
  },
41512
41153
  "bgcolor": {
41513
- "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 '#'.",
41154
+ "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.",
41514
41155
  "deprecated": true
41515
41156
  },
41516
41157
  "char": {
41517
- "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.",
41158
+ "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.",
41518
41159
  "deprecated": true
41519
41160
  },
41520
41161
  "charoff": {
41521
- "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.",
41162
+ "description": "Specifies the number of characters to offset the header cell content from the alignment character specified by the char attribute.",
41522
41163
  "deprecated": true
41523
41164
  },
41524
41165
  "colspan": {
41525
- "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)."
41166
+ "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."
41526
41167
  },
41527
41168
  "headers": {
41528
- "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."
41169
+ "description": "A list of space-separated strings corresponding to the id attributes of the <th> elements that provide the headers for this header cell."
41529
41170
  },
41530
41171
  "height": {
41531
- "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.",
41172
+ "description": "Defines a recommended header cell height. Use the height CSS property instead, as this attribute is deprecated.",
41532
41173
  "deprecated": true
41533
41174
  },
41534
41175
  "rowspan": {
41535
- "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."
41176
+ "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."
41536
41177
  },
41537
41178
  "scope": {
41538
41179
  "type": {
@@ -41542,11 +41183,11 @@
41542
41183
  }
41543
41184
  },
41544
41185
  "valign": {
41545
- "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.",
41186
+ "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.",
41546
41187
  "deprecated": true
41547
41188
  },
41548
41189
  "width": {
41549
- "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.",
41190
+ "description": "Defines a recommended header cell width. Use the width CSS property instead, as this attribute is deprecated.",
41550
41191
  "deprecated": true
41551
41192
  }
41552
41193
  }
@@ -41554,7 +41195,7 @@
41554
41195
  {
41555
41196
  "name": "thead",
41556
41197
  "cite": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/thead",
41557
- "description": "The <thead> HTML element defines a set of rows defining the head of the columns of the table.",
41198
+ "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).",
41558
41199
  "categories": [],
41559
41200
  "contentModel": {
41560
41201
  "contents": [
@@ -41575,23 +41216,23 @@
41575
41216
  },
41576
41217
  "attributes": {
41577
41218
  "align": {
41578
- "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.",
41219
+ "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.",
41579
41220
  "deprecated": true
41580
41221
  },
41581
41222
  "bgcolor": {
41582
- "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.",
41223
+ "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.",
41583
41224
  "deprecated": true
41584
41225
  },
41585
41226
  "char": {
41586
- "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.",
41227
+ "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.",
41587
41228
  "deprecated": true
41588
41229
  },
41589
41230
  "charoff": {
41590
- "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.",
41231
+ "description": "Specifies the number of characters to offset the head cell content from the alignment character specified by the char attribute.",
41591
41232
  "deprecated": true
41592
41233
  },
41593
41234
  "valign": {
41594
- "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.",
41235
+ "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.",
41595
41236
  "deprecated": true
41596
41237
  }
41597
41238
  }
@@ -41682,23 +41323,23 @@
41682
41323
  },
41683
41324
  "attributes": {
41684
41325
  "align": {
41685
- "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 \",\").",
41326
+ "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.",
41686
41327
  "deprecated": true
41687
41328
  },
41688
41329
  "bgcolor": {
41689
- "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.",
41330
+ "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.",
41690
41331
  "deprecated": true
41691
41332
  },
41692
41333
  "char": {
41693
- "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: \".\".",
41334
+ "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.",
41694
41335
  "deprecated": true
41695
41336
  },
41696
41337
  "charoff": {
41697
- "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.",
41338
+ "description": "Specifies the number of characters to offset the row cell content from the alignment character specified by the char attribute.",
41698
41339
  "deprecated": true
41699
41340
  },
41700
41341
  "valign": {
41701
- "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.",
41342
+ "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.",
41702
41343
  "deprecated": true
41703
41344
  }
41704
41345
  }
@@ -41958,12 +41599,10 @@
41958
41599
  "description": "This enumerated attribute indicates whether to use CORS to fetch the related video. 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."
41959
41600
  },
41960
41601
  "disablepictureinpicture": {
41961
- "description": "Prevents the browser from suggesting a Picture-in-Picture context menu or to request Picture-in-Picture automatically in some cases.",
41962
- "experimental": true
41602
+ "description": "Prevents the browser from suggesting a Picture-in-Picture context menu or to request Picture-in-Picture automatically in some cases."
41963
41603
  },
41964
41604
  "disableremoteplayback": {
41965
- "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.",
41966
- "experimental": true
41605
+ "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."
41967
41606
  },
41968
41607
  "height": {
41969
41608
  "description": "The height of the video's display area, in CSS pixels (absolute values only; no percentages)."
@@ -48337,6 +47976,7 @@
48337
47976
  "contents": [
48338
47977
  {
48339
47978
  "zeroOrMore": [
47979
+ "#text",
48340
47980
  ":model(SVGDescriptive)",
48341
47981
  ":model(SVGPaintServer)",
48342
47982
  "svg|a",