html-validate 5.5.0 → 6.0.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.
@@ -3,14 +3,29 @@
3
3
 
4
4
  "*": {
5
5
  "attributes": {
6
- "contenteditable": ["", "true", "false"],
7
- "dir": ["ltr", "rtl", "auto"],
8
- "draggable": ["true", "false"],
9
- "id": ["/\\S+/"],
10
- "hidden": [],
11
- "tabindex": ["/-?\\d+/"]
12
- },
13
- "deprecatedAttributes": ["contextmenu"]
6
+ "contenteditable": {
7
+ "omit": true,
8
+ "enum": ["true", "false"]
9
+ },
10
+ "contextmenu": {
11
+ "deprecated": true
12
+ },
13
+ "dir": {
14
+ "enum": ["ltr", "rtl", "auto"]
15
+ },
16
+ "draggable": {
17
+ "enum": ["true", "false"]
18
+ },
19
+ "hidden": {
20
+ "boolean": true
21
+ },
22
+ "id": {
23
+ "enum": ["/\\S+/"]
24
+ },
25
+ "tabindex": {
26
+ "enum": ["/-?\\d+/"]
27
+ }
28
+ }
14
29
  },
15
30
 
16
31
  "a": {
@@ -18,20 +33,38 @@
18
33
  "phrasing": true,
19
34
  "interactive": true,
20
35
  "transparent": true,
21
- "deprecatedAttributes": [
22
- "charset",
23
- "contextmenu",
24
- "coords",
25
- "datasrc",
26
- "datafld",
27
- "shape",
28
- "methods",
29
- "name",
30
- "urn"
31
- ],
32
36
  "attributes": {
33
- "download": ["", "/.+/"],
34
- "href": ["/.*/"]
37
+ "charset": {
38
+ "deprecated": true
39
+ },
40
+ "coords": {
41
+ "deprecated": true
42
+ },
43
+ "datafld": {
44
+ "deprecated": true
45
+ },
46
+ "datasrc": {
47
+ "deprecated": true
48
+ },
49
+ "download": {
50
+ "omit": true,
51
+ "enum": ["/.+/"]
52
+ },
53
+ "href": {
54
+ "enum": ["/.*/"]
55
+ },
56
+ "methods": {
57
+ "deprecated": true
58
+ },
59
+ "name": {
60
+ "deprecated": true
61
+ },
62
+ "shape": {
63
+ "deprecated": true
64
+ },
65
+ "urn": {
66
+ "deprecated": true
67
+ }
35
68
  },
36
69
  "permittedDescendants": [{ "exclude": "@interactive" }]
37
70
  },
@@ -62,16 +95,27 @@
62
95
  "deprecated": {
63
96
  "source": "html5"
64
97
  },
65
- "deprecatedAttributes": ["contextmenu", "datasrc", "datafld"]
98
+ "attributes": {
99
+ "datafld": {
100
+ "deprecated": true
101
+ },
102
+ "datasrc": {
103
+ "deprecated": true
104
+ }
105
+ }
66
106
  },
67
107
 
68
108
  "area": {
69
109
  "flow": ["isDescendant", "map"],
70
110
  "phrasing": ["isDescendant", "map"],
71
111
  "void": true,
72
- "deprecatedAttributes": ["contextmenu", "nohref"],
73
112
  "attributes": {
74
- "shape": ["rect", "circle", "poly", "default"]
113
+ "nohref": {
114
+ "deprecated": true
115
+ },
116
+ "shape": {
117
+ "enum": ["rect", "circle", "poly", "default"]
118
+ }
75
119
  },
76
120
  "requiredAncestors": ["map"]
77
121
  },
@@ -97,7 +141,10 @@
97
141
  "interactive": ["hasAttribute", "controls"],
98
142
  "transparent": ["@flow"],
99
143
  "attributes": {
100
- "preload": ["", "none", "metadata", "auto"]
144
+ "preload": {
145
+ "omit": true,
146
+ "enum": ["none", "metadata", "auto"]
147
+ }
101
148
  },
102
149
  "permittedContent": ["@flow", "track", "source"],
103
150
  "permittedDescendants": [{ "exclude": ["audio", "video"] }],
@@ -165,28 +212,55 @@
165
212
  },
166
213
 
167
214
  "body": {
168
- "deprecatedAttributes": [
169
- "alink",
170
- "background",
171
- "bgcolor",
172
- "contextmenu",
173
- "link",
174
- "marginbottom",
175
- "marginheight",
176
- "marginleft",
177
- "marginright",
178
- "margintop",
179
- "marginwidth",
180
- "text",
181
- "vlink"
182
- ]
215
+ "attributes": {
216
+ "alink": {
217
+ "deprecated": true
218
+ },
219
+ "background": {
220
+ "deprecated": true
221
+ },
222
+ "bgcolor": {
223
+ "deprecated": true
224
+ },
225
+ "link": {
226
+ "deprecated": true
227
+ },
228
+ "marginbottom": {
229
+ "deprecated": true
230
+ },
231
+ "marginheight": {
232
+ "deprecated": true
233
+ },
234
+ "marginleft": {
235
+ "deprecated": true
236
+ },
237
+ "marginright": {
238
+ "deprecated": true
239
+ },
240
+ "margintop": {
241
+ "deprecated": true
242
+ },
243
+ "marginwidth": {
244
+ "deprecated": true
245
+ },
246
+ "text": {
247
+ "deprecated": true
248
+ },
249
+ "vlink": {
250
+ "deprecated": true
251
+ }
252
+ }
183
253
  },
184
254
 
185
255
  "br": {
186
256
  "flow": true,
187
257
  "phrasing": true,
188
258
  "void": true,
189
- "deprecatedAttributes": ["contextmenu", "clear"]
259
+ "attributes": {
260
+ "clear": {
261
+ "deprecated": true
262
+ }
263
+ }
190
264
  },
191
265
 
192
266
  "button": {
@@ -194,12 +268,26 @@
194
268
  "phrasing": true,
195
269
  "interactive": true,
196
270
  "labelable": true,
197
- "deprecatedAttributes": ["contextmenu", "datasrc", "datafld", "dataformatas"],
198
- "requiredAttributes": ["type"],
199
271
  "attributes": {
200
- "autofocus": [],
201
- "disabled": [],
202
- "type": ["submit", "reset", "button"]
272
+ "autofocus": {
273
+ "boolean": true
274
+ },
275
+ "datafld": {
276
+ "deprecated": true
277
+ },
278
+ "dataformatas": {
279
+ "deprecated": true
280
+ },
281
+ "datasrc": {
282
+ "deprecated": true
283
+ },
284
+ "disabled": {
285
+ "boolean": true
286
+ },
287
+ "type": {
288
+ "required": true,
289
+ "enum": ["submit", "reset", "button"]
290
+ }
203
291
  },
204
292
  "permittedContent": ["@phrasing"],
205
293
  "permittedDescendants": [{ "exclude": ["@interactive"] }],
@@ -214,9 +302,13 @@
214
302
  },
215
303
 
216
304
  "caption": {
217
- "deprecatedAttributes": ["contextmenu", "align"],
218
305
  "permittedContent": ["@flow"],
219
- "permittedDescendants": [{ "exclude": ["table"] }]
306
+ "permittedDescendants": [{ "exclude": ["table"] }],
307
+ "attributes": {
308
+ "align": {
309
+ "deprecated": true
310
+ }
311
+ }
220
312
  },
221
313
 
222
314
  "center": {
@@ -241,16 +333,34 @@
241
333
 
242
334
  "col": {
243
335
  "attributes": {
244
- "span": ["/\\d+/"]
336
+ "align": {
337
+ "deprecated": true
338
+ },
339
+ "char": {
340
+ "deprecated": true
341
+ },
342
+ "charoff": {
343
+ "deprecated": true
344
+ },
345
+ "span": {
346
+ "enum": ["/\\d+/"]
347
+ },
348
+ "valign": {
349
+ "deprecated": true
350
+ },
351
+ "width": {
352
+ "deprecated": true
353
+ }
245
354
  },
246
- "deprecatedAttributes": ["align", "char", "charoff", "contextmenu", "valign", "width"],
247
355
  "void": true
248
356
  },
249
357
 
250
358
  "colgroup": {
251
359
  "implicitClosed": ["colgroup"],
252
360
  "attributes": {
253
- "span": ["/\\d+/"]
361
+ "span": {
362
+ "enum": ["/\\d+/"]
363
+ }
254
364
  },
255
365
  "permittedContent": ["col", "template"]
256
366
  },
@@ -284,7 +394,9 @@
284
394
  "sectioning": true,
285
395
  "interactive": true,
286
396
  "attributes": {
287
- "open": []
397
+ "open": {
398
+ "boolean": true
399
+ }
288
400
  },
289
401
  "permittedContent": ["summary", "@flow"],
290
402
  "permittedOrder": ["summary", "@flow"],
@@ -307,14 +419,31 @@
307
419
 
308
420
  "div": {
309
421
  "flow": true,
310
- "deprecatedAttributes": ["align", "contextmenu", "datasrc", "datafld", "dataformatas"],
311
- "permittedContent": ["@flow", "dt", "dd"]
422
+ "permittedContent": ["@flow", "dt", "dd"],
423
+ "attributes": {
424
+ "align": {
425
+ "deprecated": true
426
+ },
427
+ "datafld": {
428
+ "deprecated": true
429
+ },
430
+ "dataformatas": {
431
+ "deprecated": true
432
+ },
433
+ "datasrc": {
434
+ "deprecated": true
435
+ }
436
+ }
312
437
  },
313
438
 
314
439
  "dl": {
315
440
  "flow": true,
316
- "deprecatedAttributes": ["compact", "contextmenu"],
317
- "permittedContent": ["@script", "dt", "dd", "div"]
441
+ "permittedContent": ["@script", "dt", "dd", "div"],
442
+ "attributes": {
443
+ "compact": {
444
+ "deprecated": true
445
+ }
446
+ }
318
447
  },
319
448
 
320
449
  "dt": {
@@ -337,17 +466,26 @@
337
466
  "interactive": true,
338
467
  "void": true,
339
468
  "attributes": {
340
- "src": ["/.+/"]
341
- },
342
- "requiredAttributes": ["src", "title"]
469
+ "src": {
470
+ "required": true,
471
+ "enum": ["/.+/"]
472
+ },
473
+ "title": {
474
+ "required": true
475
+ }
476
+ }
343
477
  },
344
478
 
345
479
  "fieldset": {
346
480
  "flow": true,
347
481
  "attributes": {
348
- "disabled": []
482
+ "datafld": {
483
+ "deprecated": true
484
+ },
485
+ "disabled": {
486
+ "boolean": true
487
+ }
349
488
  },
350
- "deprecatedAttributes": ["contextmenu", "datafld"],
351
489
  "permittedContent": ["@flow", "legend?"],
352
490
  "permittedOrder": ["legend", "@flow"]
353
491
  },
@@ -380,11 +518,19 @@
380
518
  "flow": true,
381
519
  "form": true,
382
520
  "attributes": {
383
- "autocomplete": ["on", "off"],
384
- "method": ["get", "post"],
385
- "novalidate": []
521
+ "accept": {
522
+ "deprecated": true
523
+ },
524
+ "autocomplete": {
525
+ "enum": ["on", "off"]
526
+ },
527
+ "method": {
528
+ "enum": ["get", "post"]
529
+ },
530
+ "novalidate": {
531
+ "boolean": true
532
+ }
386
533
  },
387
- "deprecatedAttributes": ["accept", "contextmenu"],
388
534
  "permittedContent": ["@flow"],
389
535
  "permittedDescendants": [{ "exclude": ["@form"] }]
390
536
  },
@@ -394,8 +540,17 @@
394
540
  "documentation": "The `<frame>` element can be replaced with the `<iframe>` element but a better solution is to remove usage of frames entirely.",
395
541
  "source": "html5"
396
542
  },
397
- "deprecatedAttributes": ["contextmenu", "datasrc", "datafld"],
398
- "requiredAttributes": ["title"]
543
+ "attributes": {
544
+ "datafld": {
545
+ "deprecated": true
546
+ },
547
+ "datasrc": {
548
+ "deprecated": true
549
+ },
550
+ "title": {
551
+ "required": true
552
+ }
553
+ }
399
554
  },
400
555
 
401
556
  "frameset": {
@@ -408,49 +563,77 @@
408
563
  "h1": {
409
564
  "flow": true,
410
565
  "heading": true,
411
- "deprecatedAttributes": ["align", "contextmenu"],
412
- "permittedContent": ["@phrasing"]
566
+ "permittedContent": ["@phrasing"],
567
+ "attributes": {
568
+ "align": {
569
+ "deprecated": true
570
+ }
571
+ }
413
572
  },
414
573
 
415
574
  "h2": {
416
575
  "flow": true,
417
576
  "heading": true,
418
- "deprecatedAttributes": ["align", "contextmenu"],
419
- "permittedContent": ["@phrasing"]
577
+ "permittedContent": ["@phrasing"],
578
+ "attributes": {
579
+ "align": {
580
+ "deprecated": true
581
+ }
582
+ }
420
583
  },
421
584
 
422
585
  "h3": {
423
586
  "flow": true,
424
587
  "heading": true,
425
- "deprecatedAttributes": ["align", "contextmenu"],
426
- "permittedContent": ["@phrasing"]
588
+ "permittedContent": ["@phrasing"],
589
+ "attributes": {
590
+ "align": {
591
+ "deprecated": true
592
+ }
593
+ }
427
594
  },
428
595
 
429
596
  "h4": {
430
597
  "flow": true,
431
598
  "heading": true,
432
- "deprecatedAttributes": ["align", "contextmenu"],
433
- "permittedContent": ["@phrasing"]
599
+ "permittedContent": ["@phrasing"],
600
+ "attributes": {
601
+ "align": {
602
+ "deprecated": true
603
+ }
604
+ }
434
605
  },
435
606
 
436
607
  "h5": {
437
608
  "flow": true,
438
609
  "heading": true,
439
- "deprecatedAttributes": ["align", "contextmenu"],
440
- "permittedContent": ["@phrasing"]
610
+ "permittedContent": ["@phrasing"],
611
+ "attributes": {
612
+ "align": {
613
+ "deprecated": true
614
+ }
615
+ }
441
616
  },
442
617
 
443
618
  "h6": {
444
619
  "flow": true,
445
620
  "heading": true,
446
- "deprecatedAttributes": ["align", "contextmenu"],
447
- "permittedContent": ["@phrasing"]
621
+ "permittedContent": ["@phrasing"],
622
+ "attributes": {
623
+ "align": {
624
+ "deprecated": true
625
+ }
626
+ }
448
627
  },
449
628
 
450
629
  "head": {
451
- "deprecatedAttributes": ["profile", "contextmenu"],
452
630
  "permittedContent": ["base?", "title?", "@meta"],
453
- "requiredContent": ["title"]
631
+ "requiredContent": ["title"],
632
+ "attributes": {
633
+ "profile": {
634
+ "deprecated": true
635
+ }
636
+ }
454
637
  },
455
638
 
456
639
  "header": {
@@ -466,15 +649,37 @@
466
649
  "hr": {
467
650
  "flow": true,
468
651
  "void": true,
469
- "deprecatedAttributes": ["align", "contextmenu", "color", "noshade", "size", "width"]
652
+ "attributes": {
653
+ "align": {
654
+ "deprecated": true
655
+ },
656
+ "color": {
657
+ "deprecated": true
658
+ },
659
+ "noshade": {
660
+ "deprecated": true
661
+ },
662
+ "size": {
663
+ "deprecated": true
664
+ },
665
+ "width": {
666
+ "deprecated": true
667
+ }
668
+ }
470
669
  },
471
670
 
472
671
  "html": {
473
- "deprecatedAttributes": ["contextmenu", "version"],
474
672
  "permittedContent": ["head?", "body?"],
475
673
  "permittedOrder": ["head", "body"],
476
- "requiredAttributes": ["lang"],
477
- "requiredContent": ["head", "body"]
674
+ "requiredContent": ["head", "body"],
675
+ "attributes": {
676
+ "lang": {
677
+ "required": true
678
+ },
679
+ "version": {
680
+ "deprecated": true
681
+ }
682
+ }
478
683
  },
479
684
 
480
685
  "i": {
@@ -489,22 +694,43 @@
489
694
  "embedded": true,
490
695
  "interactive": true,
491
696
  "attributes": {
492
- "src": ["/.+/"]
697
+ "align": {
698
+ "deprecated": true
699
+ },
700
+ "allowtransparency": {
701
+ "deprecated": true
702
+ },
703
+ "datafld": {
704
+ "deprecated": true
705
+ },
706
+ "datasrc": {
707
+ "deprecated": true
708
+ },
709
+ "frameborder": {
710
+ "deprecated": true
711
+ },
712
+ "hspace": {
713
+ "deprecated": true
714
+ },
715
+ "marginheight": {
716
+ "deprecated": true
717
+ },
718
+ "marginwidth": {
719
+ "deprecated": true
720
+ },
721
+ "scrolling": {
722
+ "deprecated": true
723
+ },
724
+ "src": {
725
+ "enum": ["/.+/"]
726
+ },
727
+ "title": {
728
+ "required": true
729
+ },
730
+ "vspace": {
731
+ "deprecated": true
732
+ }
493
733
  },
494
- "deprecatedAttributes": [
495
- "align",
496
- "allowtransparency",
497
- "contextmenu",
498
- "datasrc",
499
- "datafld",
500
- "frameborder",
501
- "hspace",
502
- "marginheight",
503
- "marginwidth",
504
- "scrolling",
505
- "vspace"
506
- ],
507
- "requiredAttributes": ["title"],
508
734
  "permittedContent": []
509
735
  },
510
736
 
@@ -515,24 +741,48 @@
515
741
  "interactive": ["hasAttribute", "usemap"],
516
742
  "void": true,
517
743
  "attributes": {
518
- "crossorigin": ["", "anonymous", "use-credentials"],
519
- "decoding": ["sync", "async", "auto"],
520
- "ismap": [],
521
- "src": ["/.+/"],
522
- "srcset": ["/.+/"]
523
- },
524
- "deprecatedAttributes": [
525
- "contextmenu",
526
- "datasrc",
527
- "datafld",
528
- "name",
529
- "lowsrc",
530
- "align",
531
- "border",
532
- "hspace",
533
- "vspace"
534
- ],
535
- "requiredAttributes": ["src"]
744
+ "align": {
745
+ "deprecated": true
746
+ },
747
+ "border": {
748
+ "deprecated": true
749
+ },
750
+ "crossorigin": {
751
+ "omit": true,
752
+ "enum": ["anonymous", "use-credentials"]
753
+ },
754
+ "datafld": {
755
+ "deprecated": true
756
+ },
757
+ "datasrc": {
758
+ "deprecated": true
759
+ },
760
+ "decoding": {
761
+ "enum": ["sync", "async", "auto"]
762
+ },
763
+ "hspace": {
764
+ "deprecated": true
765
+ },
766
+ "ismap": {
767
+ "boolean": true
768
+ },
769
+ "lowsrc": {
770
+ "deprecated": true
771
+ },
772
+ "name": {
773
+ "deprecated": true
774
+ },
775
+ "src": {
776
+ "required": true,
777
+ "enum": ["/.+/"]
778
+ },
779
+ "srcset": {
780
+ "enum": ["/.+/"]
781
+ },
782
+ "vspace": {
783
+ "deprecated": true
784
+ }
785
+ }
536
786
  },
537
787
 
538
788
  "input": {
@@ -541,52 +791,86 @@
541
791
  "interactive": ["matchAttribute", ["type", "!=", "hidden"]],
542
792
  "void": true,
543
793
  "labelable": ["matchAttribute", ["type", "!=", "hidden"]],
544
- "deprecatedAttributes": [
545
- "contextmenu",
546
- "datasrc",
547
- "datafld",
548
- "dataformatas",
549
- "ismap",
550
- "usemap",
551
- "align",
552
- "hspace",
553
- "vspace"
554
- ],
555
- "requiredAttributes": ["type"],
556
794
  "attributes": {
557
- "autofocus": [],
558
- "capture": ["", "environment", "user"],
559
- "checked": [],
560
- "disabled": [],
561
- "inputmode": ["none", "text", "decimal", "numeric", "tel", "search", "email", "url"],
562
- "multiple": [],
563
- "readonly": [],
564
- "required": [],
565
- "spellcheck": ["default", "false", "true"],
566
- "type": [
567
- "button",
568
- "checkbox",
569
- "color",
570
- "date",
571
- "datetime-local",
572
- "email",
573
- "file",
574
- "hidden",
575
- "image",
576
- "month",
577
- "number",
578
- "password",
579
- "radio",
580
- "range",
581
- "reset",
582
- "search",
583
- "submit",
584
- "tel",
585
- "text",
586
- "time",
587
- "url",
588
- "week"
589
- ]
795
+ "align": {
796
+ "deprecated": true
797
+ },
798
+ "autofocus": {
799
+ "boolean": true
800
+ },
801
+ "capture": {
802
+ "omit": true,
803
+ "enum": ["environment", "user"]
804
+ },
805
+ "checked": {
806
+ "boolean": true
807
+ },
808
+ "datafld": {
809
+ "deprecated": true
810
+ },
811
+ "dataformatas": {
812
+ "deprecated": true
813
+ },
814
+ "datasrc": {
815
+ "deprecated": true
816
+ },
817
+ "disabled": {
818
+ "boolean": true
819
+ },
820
+ "hspace": {
821
+ "deprecated": true
822
+ },
823
+ "inputmode": {
824
+ "enum": ["none", "text", "decimal", "numeric", "tel", "search", "email", "url"]
825
+ },
826
+ "ismap": {
827
+ "deprecated": true
828
+ },
829
+ "multiple": {
830
+ "boolean": true
831
+ },
832
+ "readonly": {
833
+ "boolean": true
834
+ },
835
+ "required": {
836
+ "boolean": true
837
+ },
838
+ "spellcheck": {
839
+ "enum": ["default", "false", "true"]
840
+ },
841
+ "type": {
842
+ "required": true,
843
+ "enum": [
844
+ "button",
845
+ "checkbox",
846
+ "color",
847
+ "date",
848
+ "datetime-local",
849
+ "email",
850
+ "file",
851
+ "hidden",
852
+ "image",
853
+ "month",
854
+ "number",
855
+ "password",
856
+ "radio",
857
+ "range",
858
+ "reset",
859
+ "search",
860
+ "submit",
861
+ "tel",
862
+ "text",
863
+ "time",
864
+ "url",
865
+ "week"
866
+ ]
867
+ },
868
+ "usemap": {
869
+ "deprecated": true
870
+ },
871
+ "vspace": {
872
+ "deprecated": true
873
+ }
590
874
  }
591
875
  },
592
876
 
@@ -620,32 +904,77 @@
620
904
  "flow": true,
621
905
  "phrasing": true,
622
906
  "interactive": true,
623
- "deprecatedAttributes": ["contextmenu", "datasrc", "datafld", "dataformatas"],
624
907
  "permittedContent": ["@phrasing"],
625
- "permittedDescendants": [{ "exclude": ["label"] }]
908
+ "permittedDescendants": [{ "exclude": ["label"] }],
909
+ "attributes": {
910
+ "datafld": {
911
+ "deprecated": true
912
+ },
913
+ "dataformatas": {
914
+ "deprecated": true
915
+ },
916
+ "datasrc": {
917
+ "deprecated": true
918
+ }
919
+ }
626
920
  },
627
921
 
628
922
  "legend": {
629
- "deprecatedAttributes": ["align", "contextmenu", "datasrc", "datafld", "dataformatas"],
630
- "permittedContent": ["@phrasing", "@heading"]
923
+ "permittedContent": ["@phrasing", "@heading"],
924
+ "attributes": {
925
+ "align": {
926
+ "deprecated": true
927
+ },
928
+ "datafld": {
929
+ "deprecated": true
930
+ },
931
+ "dataformatas": {
932
+ "deprecated": true
933
+ },
934
+ "datasrc": {
935
+ "deprecated": true
936
+ }
937
+ }
631
938
  },
632
939
 
633
940
  "li": {
634
941
  "implicitClosed": ["li"],
635
- "deprecatedAttributes": ["contextmenu", "type"],
636
- "permittedContent": ["@flow"]
942
+ "permittedContent": ["@flow"],
943
+ "attributes": {
944
+ "type": {
945
+ "deprecated": true
946
+ }
947
+ }
637
948
  },
638
949
 
639
950
  "link": {
640
951
  "metadata": true,
641
952
  "void": true,
642
953
  "attributes": {
643
- "crossorigin": ["", "anonymous", "use-credentials"],
644
- "integrity": ["/.+/"],
645
- "href": ["/.+/"]
646
- },
647
- "requiredAttributes": ["href"],
648
- "deprecatedAttributes": ["charset", "contextmenu", "methods", "urn", "target"]
954
+ "charset": {
955
+ "deprecated": true
956
+ },
957
+ "crossorigin": {
958
+ "omit": true,
959
+ "enum": ["anonymous", "use-credentials"]
960
+ },
961
+ "href": {
962
+ "required": true,
963
+ "enum": ["/.+/"]
964
+ },
965
+ "integrity": {
966
+ "enum": ["/.+/"]
967
+ },
968
+ "methods": {
969
+ "deprecated": true
970
+ },
971
+ "target": {
972
+ "deprecated": true
973
+ },
974
+ "urn": {
975
+ "deprecated": true
976
+ }
977
+ }
649
978
  },
650
979
 
651
980
  "listing": {
@@ -675,7 +1004,17 @@
675
1004
  "documentation": "Marked as obsolete by both W3C and WHATWG standards but still implemented in most browsers. Animated text should be avoided for accessibility reasons as well.",
676
1005
  "source": "html5"
677
1006
  },
678
- "deprecatedAttributes": ["contextmenu", "datasrc", "datafld", "dataformatas"]
1007
+ "attributes": {
1008
+ "datafld": {
1009
+ "deprecated": true
1010
+ },
1011
+ "dataformatas": {
1012
+ "deprecated": true
1013
+ },
1014
+ "datasrc": {
1015
+ "deprecated": true
1016
+ }
1017
+ }
679
1018
  },
680
1019
 
681
1020
  "math": {
@@ -683,18 +1022,39 @@
683
1022
  "foreign": true,
684
1023
  "phrasing": true,
685
1024
  "embedded": true,
686
- "deprecatedAttributes": ["contextmenu", "name", "align", "hspace", "vspace"],
687
1025
  "attributes": {
688
- "dir": ["ltr", "rtl"],
689
- "display": ["block", "inline"],
690
- "overflow": ["linebreak", "scroll", "elide", "truncate", "scale"]
1026
+ "align": {
1027
+ "deprecated": true
1028
+ },
1029
+ "dir": {
1030
+ "enum": ["ltr", "rtl"]
1031
+ },
1032
+ "display": {
1033
+ "enum": ["block", "inline"]
1034
+ },
1035
+ "hspace": {
1036
+ "deprecated": true
1037
+ },
1038
+ "name": {
1039
+ "deprecated": true
1040
+ },
1041
+ "overflow": {
1042
+ "enum": ["linebreak", "scroll", "elide", "truncate", "scale"]
1043
+ },
1044
+ "vspace": {
1045
+ "deprecated": true
1046
+ }
691
1047
  }
692
1048
  },
693
1049
 
694
1050
  "meta": {
695
1051
  "metadata": true,
696
1052
  "void": true,
697
- "deprecatedAttributes": ["contextmenu", "scheme"]
1053
+ "attributes": {
1054
+ "scheme": {
1055
+ "deprecated": true
1056
+ }
1057
+ }
698
1058
  },
699
1059
 
700
1060
  "meter": {
@@ -761,25 +1121,52 @@
761
1121
  "interactive": ["hasAttribute", "usemap"],
762
1122
  "transparent": true,
763
1123
  "attributes": {
764
- "data": ["/.+/"]
1124
+ "align": {
1125
+ "deprecated": true
1126
+ },
1127
+ "archive": {
1128
+ "deprecated": true
1129
+ },
1130
+ "border": {
1131
+ "deprecated": true
1132
+ },
1133
+ "classid": {
1134
+ "deprecated": true
1135
+ },
1136
+ "code": {
1137
+ "deprecated": true
1138
+ },
1139
+ "codebase": {
1140
+ "deprecated": true
1141
+ },
1142
+ "codetype": {
1143
+ "deprecated": true
1144
+ },
1145
+ "data": {
1146
+ "enum": ["/.+/"]
1147
+ },
1148
+ "datafld": {
1149
+ "deprecated": true
1150
+ },
1151
+ "dataformatas": {
1152
+ "deprecated": true
1153
+ },
1154
+ "datasrc": {
1155
+ "deprecated": true
1156
+ },
1157
+ "declare": {
1158
+ "deprecated": true
1159
+ },
1160
+ "hspace": {
1161
+ "deprecated": true
1162
+ },
1163
+ "standby": {
1164
+ "deprecated": true
1165
+ },
1166
+ "vspace": {
1167
+ "deprecated": true
1168
+ }
765
1169
  },
766
- "deprecatedAttributes": [
767
- "align",
768
- "archive",
769
- "border",
770
- "contextmenu",
771
- "classid",
772
- "code",
773
- "codebase",
774
- "codetype",
775
- "datasrc",
776
- "datafld",
777
- "dataformatas",
778
- "declare",
779
- "hspace",
780
- "standby",
781
- "vspace"
782
- ],
783
1170
  "permittedContent": ["param", "@flow"],
784
1171
  "permittedOrder": ["param", "@flow"]
785
1172
  },
@@ -787,17 +1174,25 @@
787
1174
  "ol": {
788
1175
  "flow": true,
789
1176
  "attributes": {
790
- "reversed": [],
791
- "type": ["a", "A", "i", "I", "1"]
1177
+ "compact": {
1178
+ "deprecated": true
1179
+ },
1180
+ "reversed": {
1181
+ "boolean": true
1182
+ },
1183
+ "type": {
1184
+ "enum": ["a", "A", "i", "I", "1"]
1185
+ }
792
1186
  },
793
- "deprecatedAttributes": ["compact", "contextmenu"],
794
1187
  "permittedContent": ["@script", "li"]
795
1188
  },
796
1189
 
797
1190
  "optgroup": {
798
1191
  "implicitClosed": ["optgroup"],
799
1192
  "attributes": {
800
- "disabled": []
1193
+ "disabled": {
1194
+ "boolean": true
1195
+ }
801
1196
  },
802
1197
  "permittedContent": ["@script", "option"]
803
1198
  },
@@ -805,10 +1200,22 @@
805
1200
  "option": {
806
1201
  "implicitClosed": ["option"],
807
1202
  "attributes": {
808
- "disabled": [],
809
- "selected": []
1203
+ "dataformatas": {
1204
+ "deprecated": true
1205
+ },
1206
+ "datasrc": {
1207
+ "deprecated": true
1208
+ },
1209
+ "disabled": {
1210
+ "boolean": true
1211
+ },
1212
+ "name": {
1213
+ "deprecated": true
1214
+ },
1215
+ "selected": {
1216
+ "boolean": true
1217
+ }
810
1218
  },
811
- "deprecatedAttributes": ["contextmenu", "datasrc", "dataformatas", "name"],
812
1219
  "permittedContent": []
813
1220
  },
814
1221
 
@@ -849,13 +1256,27 @@
849
1256
  "table",
850
1257
  "ul"
851
1258
  ],
852
- "deprecatedAttributes": ["contextmenu", "align"],
853
- "permittedContent": ["@phrasing"]
1259
+ "permittedContent": ["@phrasing"],
1260
+ "attributes": {
1261
+ "align": {
1262
+ "deprecated": true
1263
+ }
1264
+ }
854
1265
  },
855
1266
 
856
1267
  "param": {
857
1268
  "void": true,
858
- "deprecatedAttributes": ["contextmenu", "datafld", "type", "valuetype"]
1269
+ "attributes": {
1270
+ "datafld": {
1271
+ "deprecated": true
1272
+ },
1273
+ "type": {
1274
+ "deprecated": true
1275
+ },
1276
+ "valuetype": {
1277
+ "deprecated": true
1278
+ }
1279
+ }
859
1280
  },
860
1281
 
861
1282
  "picture": {
@@ -876,8 +1297,12 @@
876
1297
 
877
1298
  "pre": {
878
1299
  "flow": true,
879
- "deprecatedAttributes": ["contextmenu", "width"],
880
- "permittedContent": ["@phrasing"]
1300
+ "permittedContent": ["@phrasing"],
1301
+ "attributes": {
1302
+ "width": {
1303
+ "deprecated": true
1304
+ }
1305
+ }
881
1306
  },
882
1307
 
883
1308
  "progress": {
@@ -938,14 +1363,35 @@
938
1363
  "phrasing": true,
939
1364
  "scriptSupporting": true,
940
1365
  "attributes": {
941
- "async": [],
942
- "crossorigin": ["", "anonymous", "use-credentials"],
943
- "defer": [],
944
- "integrity": ["/.+/"],
945
- "nomodule": [],
946
- "src": ["/.+/"]
947
- },
948
- "deprecatedAttributes": ["contextmenu", "language", "event", "for"]
1366
+ "async": {
1367
+ "boolean": true
1368
+ },
1369
+ "crossorigin": {
1370
+ "omit": true,
1371
+ "enum": ["anonymous", "use-credentials"]
1372
+ },
1373
+ "defer": {
1374
+ "boolean": true
1375
+ },
1376
+ "event": {
1377
+ "deprecated": true
1378
+ },
1379
+ "for": {
1380
+ "deprecated": true
1381
+ },
1382
+ "integrity": {
1383
+ "enum": ["/.+/"]
1384
+ },
1385
+ "language": {
1386
+ "deprecated": true
1387
+ },
1388
+ "nomodule": {
1389
+ "boolean": true
1390
+ },
1391
+ "src": {
1392
+ "enum": ["/.+/"]
1393
+ }
1394
+ }
949
1395
  },
950
1396
 
951
1397
  "section": {
@@ -960,11 +1406,21 @@
960
1406
  "interactive": true,
961
1407
  "labelable": true,
962
1408
  "attributes": {
963
- "autofocus": [],
964
- "disabled": [],
965
- "multiple": [],
966
- "required": [],
967
- "size": ["/\\d+/"]
1409
+ "autofocus": {
1410
+ "boolean": true
1411
+ },
1412
+ "disabled": {
1413
+ "boolean": true
1414
+ },
1415
+ "multiple": {
1416
+ "boolean": true
1417
+ },
1418
+ "required": {
1419
+ "boolean": true
1420
+ },
1421
+ "size": {
1422
+ "enum": ["/\\d+/"]
1423
+ }
968
1424
  },
969
1425
  "permittedContent": ["@script", "datasrc", "datafld", "dataformatas", "option", "optgroup"]
970
1426
  },
@@ -996,8 +1452,18 @@
996
1452
  "span": {
997
1453
  "flow": true,
998
1454
  "phrasing": true,
999
- "deprecatedAttributes": ["contextmenu", "datasrc", "datafld", "dataformatas"],
1000
- "permittedContent": ["@phrasing"]
1455
+ "permittedContent": ["@phrasing"],
1456
+ "attributes": {
1457
+ "datafld": {
1458
+ "deprecated": true
1459
+ },
1460
+ "dataformatas": {
1461
+ "deprecated": true
1462
+ },
1463
+ "datasrc": {
1464
+ "deprecated": true
1465
+ }
1466
+ }
1001
1467
  },
1002
1468
 
1003
1469
  "strike": {
@@ -1044,53 +1510,117 @@
1044
1510
 
1045
1511
  "table": {
1046
1512
  "flow": true,
1047
- "deprecatedAttributes": [
1048
- "background",
1049
- "contextmenu",
1050
- "datasrc",
1051
- "dataformatas",
1052
- "datapagesize",
1053
- "summary",
1054
- "align",
1055
- "bgcolor",
1056
- "bordercolor",
1057
- "cellpadding",
1058
- "cellspacing",
1059
- "frame",
1060
- "rules",
1061
- "width"
1062
- ],
1063
1513
  "permittedContent": ["@script", "caption?", "colgroup", "tbody", "tfoot?", "thead?", "tr"],
1064
- "permittedOrder": ["caption", "colgroup", "thead", "tbody", "tr", "tfoot"]
1514
+ "permittedOrder": ["caption", "colgroup", "thead", "tbody", "tr", "tfoot"],
1515
+ "attributes": {
1516
+ "align": {
1517
+ "deprecated": true
1518
+ },
1519
+ "background": {
1520
+ "deprecated": true
1521
+ },
1522
+ "bgcolor": {
1523
+ "deprecated": true
1524
+ },
1525
+ "bordercolor": {
1526
+ "deprecated": true
1527
+ },
1528
+ "cellpadding": {
1529
+ "deprecated": true
1530
+ },
1531
+ "cellspacing": {
1532
+ "deprecated": true
1533
+ },
1534
+ "dataformatas": {
1535
+ "deprecated": true
1536
+ },
1537
+ "datapagesize": {
1538
+ "deprecated": true
1539
+ },
1540
+ "datasrc": {
1541
+ "deprecated": true
1542
+ },
1543
+ "frame": {
1544
+ "deprecated": true
1545
+ },
1546
+ "rules": {
1547
+ "deprecated": true
1548
+ },
1549
+ "summary": {
1550
+ "deprecated": true
1551
+ },
1552
+ "width": {
1553
+ "deprecated": true
1554
+ }
1555
+ }
1065
1556
  },
1066
1557
 
1067
1558
  "tbody": {
1068
1559
  "implicitClosed": ["tbody", "tfoot"],
1069
- "deprecatedAttributes": ["align", "background", "char", "charoff", "contextmenu", "valign"],
1070
- "permittedContent": ["@script", "tr"]
1560
+ "permittedContent": ["@script", "tr"],
1561
+ "attributes": {
1562
+ "align": {
1563
+ "deprecated": true
1564
+ },
1565
+ "background": {
1566
+ "deprecated": true
1567
+ },
1568
+ "char": {
1569
+ "deprecated": true
1570
+ },
1571
+ "charoff": {
1572
+ "deprecated": true
1573
+ },
1574
+ "valign": {
1575
+ "deprecated": true
1576
+ }
1577
+ }
1071
1578
  },
1072
1579
 
1073
1580
  "td": {
1074
1581
  "flow": true,
1075
1582
  "implicitClosed": ["td", "th"],
1076
1583
  "attributes": {
1077
- "colspan": ["/\\d+/"],
1078
- "rowspan": ["/\\d+/"]
1584
+ "align": {
1585
+ "deprecated": true
1586
+ },
1587
+ "axis": {
1588
+ "deprecated": true
1589
+ },
1590
+ "background": {
1591
+ "deprecated": true
1592
+ },
1593
+ "bgcolor": {
1594
+ "deprecated": true
1595
+ },
1596
+ "char": {
1597
+ "deprecated": true
1598
+ },
1599
+ "charoff": {
1600
+ "deprecated": true
1601
+ },
1602
+ "colspan": {
1603
+ "enum": ["/\\d+/"]
1604
+ },
1605
+ "height": {
1606
+ "deprecated": true
1607
+ },
1608
+ "nowrap": {
1609
+ "deprecated": true
1610
+ },
1611
+ "rowspan": {
1612
+ "enum": ["/\\d+/"]
1613
+ },
1614
+ "scope": {
1615
+ "deprecated": true
1616
+ },
1617
+ "valign": {
1618
+ "deprecated": true
1619
+ },
1620
+ "width": {
1621
+ "deprecated": true
1622
+ }
1079
1623
  },
1080
- "deprecatedAttributes": [
1081
- "align",
1082
- "axis",
1083
- "background",
1084
- "bgcolor",
1085
- "char",
1086
- "charoff",
1087
- "contextmenu",
1088
- "height",
1089
- "nowrap",
1090
- "scope",
1091
- "valign",
1092
- "width"
1093
- ],
1094
1624
  "permittedContent": ["@flow"]
1095
1625
  },
1096
1626
 
@@ -1107,58 +1637,140 @@
1107
1637
  "interactive": true,
1108
1638
  "labelable": true,
1109
1639
  "attributes": {
1110
- "autocomplete": ["on", "off"],
1111
- "autofocus": [],
1112
- "cols": ["/\\d+/"],
1113
- "disabled": [],
1114
- "maxlength": ["/\\d+/"],
1115
- "minlength": ["/\\d+/"],
1116
- "readonly": [],
1117
- "required": [],
1118
- "rows": ["/\\d+/"],
1119
- "spellcheck": ["true", "default", "false"],
1120
- "wrap": ["hard", "soft"]
1640
+ "autocomplete": {
1641
+ "enum": ["on", "off"]
1642
+ },
1643
+ "autofocus": {
1644
+ "boolean": true
1645
+ },
1646
+ "cols": {
1647
+ "enum": ["/\\d+/"]
1648
+ },
1649
+ "datafld": {
1650
+ "deprecated": true
1651
+ },
1652
+ "datasrc": {
1653
+ "deprecated": true
1654
+ },
1655
+ "disabled": {
1656
+ "boolean": true
1657
+ },
1658
+ "maxlength": {
1659
+ "enum": ["/\\d+/"]
1660
+ },
1661
+ "minlength": {
1662
+ "enum": ["/\\d+/"]
1663
+ },
1664
+ "readonly": {
1665
+ "boolean": true
1666
+ },
1667
+ "required": {
1668
+ "boolean": true
1669
+ },
1670
+ "rows": {
1671
+ "enum": ["/\\d+/"]
1672
+ },
1673
+ "spellcheck": {
1674
+ "enum": ["true", "default", "false"]
1675
+ },
1676
+ "wrap": {
1677
+ "enum": ["hard", "soft"]
1678
+ }
1121
1679
  },
1122
- "deprecatedAttributes": ["contextmenu", "datasrc", "datafld"],
1123
1680
  "permittedContent": []
1124
1681
  },
1125
1682
 
1126
1683
  "tfoot": {
1127
1684
  "implicitClosed": ["tbody"],
1128
- "deprecatedAttributes": ["align", "background", "char", "charoff", "contextmenu", "valign"],
1129
- "permittedContent": ["@script", "tr"]
1685
+ "permittedContent": ["@script", "tr"],
1686
+ "attributes": {
1687
+ "align": {
1688
+ "deprecated": true
1689
+ },
1690
+ "background": {
1691
+ "deprecated": true
1692
+ },
1693
+ "char": {
1694
+ "deprecated": true
1695
+ },
1696
+ "charoff": {
1697
+ "deprecated": true
1698
+ },
1699
+ "valign": {
1700
+ "deprecated": true
1701
+ }
1702
+ }
1130
1703
  },
1131
1704
 
1132
1705
  "th": {
1133
1706
  "flow": true,
1134
1707
  "implicitClosed": ["td", "th"],
1135
1708
  "attributes": {
1136
- "colspan": ["/\\d+/"],
1137
- "rowspan": ["/\\d+/"],
1138
- "scope": ["row", "col", "rowgroup", "colgroup", "auto"]
1709
+ "align": {
1710
+ "deprecated": true
1711
+ },
1712
+ "axis": {
1713
+ "deprecated": true
1714
+ },
1715
+ "background": {
1716
+ "deprecated": true
1717
+ },
1718
+ "bgcolor": {
1719
+ "deprecated": true
1720
+ },
1721
+ "char": {
1722
+ "deprecated": true
1723
+ },
1724
+ "charoff": {
1725
+ "deprecated": true
1726
+ },
1727
+ "colspan": {
1728
+ "enum": ["/\\d+/"]
1729
+ },
1730
+ "height": {
1731
+ "deprecated": true
1732
+ },
1733
+ "nowrap": {
1734
+ "deprecated": true
1735
+ },
1736
+ "rowspan": {
1737
+ "enum": ["/\\d+/"]
1738
+ },
1739
+ "scope": {
1740
+ "required": true,
1741
+ "enum": ["row", "col", "rowgroup", "colgroup", "auto"]
1742
+ },
1743
+ "valign": {
1744
+ "deprecated": true
1745
+ },
1746
+ "width": {
1747
+ "deprecated": true
1748
+ }
1139
1749
  },
1140
- "deprecatedAttributes": [
1141
- "align",
1142
- "axis",
1143
- "background",
1144
- "bgcolor",
1145
- "char",
1146
- "charoff",
1147
- "contextmenu",
1148
- "height",
1149
- "nowrap",
1150
- "valign",
1151
- "width"
1152
- ],
1153
- "requiredAttributes": ["scope"],
1154
1750
  "permittedContent": ["@flow"],
1155
1751
  "permittedDescendants": [{ "exclude": ["header", "footer", "@sectioning", "@heading"] }]
1156
1752
  },
1157
1753
 
1158
1754
  "thead": {
1159
1755
  "implicitClosed": ["tbody", "tfoot"],
1160
- "deprecatedAttributes": ["align", "background", "char", "charoff", "contextmenu", "valign"],
1161
- "permittedContent": ["@script", "tr"]
1756
+ "permittedContent": ["@script", "tr"],
1757
+ "attributes": {
1758
+ "align": {
1759
+ "deprecated": true
1760
+ },
1761
+ "background": {
1762
+ "deprecated": true
1763
+ },
1764
+ "char": {
1765
+ "deprecated": true
1766
+ },
1767
+ "charoff": {
1768
+ "deprecated": true
1769
+ },
1770
+ "valign": {
1771
+ "deprecated": true
1772
+ }
1773
+ }
1162
1774
  },
1163
1775
 
1164
1776
  "time": {
@@ -1174,16 +1786,27 @@
1174
1786
 
1175
1787
  "tr": {
1176
1788
  "implicitClosed": ["tr"],
1177
- "deprecatedAttributes": [
1178
- "align",
1179
- "background",
1180
- "bgcolor",
1181
- "char",
1182
- "charoff",
1183
- "contextmenu",
1184
- "valign"
1185
- ],
1186
- "permittedContent": ["@script", "td", "th"]
1789
+ "permittedContent": ["@script", "td", "th"],
1790
+ "attributes": {
1791
+ "align": {
1792
+ "deprecated": true
1793
+ },
1794
+ "background": {
1795
+ "deprecated": true
1796
+ },
1797
+ "bgcolor": {
1798
+ "deprecated": true
1799
+ },
1800
+ "char": {
1801
+ "deprecated": true
1802
+ },
1803
+ "charoff": {
1804
+ "deprecated": true
1805
+ },
1806
+ "valign": {
1807
+ "deprecated": true
1808
+ }
1809
+ }
1187
1810
  },
1188
1811
 
1189
1812
  "track": {
@@ -1205,8 +1828,15 @@
1205
1828
 
1206
1829
  "ul": {
1207
1830
  "flow": true,
1208
- "deprecatedAttributes": ["compact", "contextmenu", "type"],
1209
- "permittedContent": ["@script", "li"]
1831
+ "permittedContent": ["@script", "li"],
1832
+ "attributes": {
1833
+ "compact": {
1834
+ "deprecated": true
1835
+ },
1836
+ "type": {
1837
+ "deprecated": true
1838
+ }
1839
+ }
1210
1840
  },
1211
1841
 
1212
1842
  "var": {
@@ -1222,7 +1852,10 @@
1222
1852
  "interactive": ["hasAttribute", "controls"],
1223
1853
  "transparent": ["@flow"],
1224
1854
  "attributes": {
1225
- "preload": ["", "none", "metadata", "auto"]
1855
+ "preload": {
1856
+ "omit": true,
1857
+ "enum": ["none", "metadata", "auto"]
1858
+ }
1226
1859
  },
1227
1860
  "permittedContent": ["@flow", "track", "source"],
1228
1861
  "permittedDescendants": [{ "exclude": ["audio", "video"] }],