@emailens/engine 0.11.8 → 0.12.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/README.md +264 -264
- package/dist/compile/index.d.cts +2 -2
- package/dist/compile/index.d.ts +2 -2
- package/dist/index.cjs +2606 -142
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -59
- package/dist/index.d.ts +7 -59
- package/dist/index.js +2596 -142
- package/dist/index.js.map +1 -1
- package/dist/{react-email-B82A1R_K.d.ts → react-email-BzyXjPrH.d.ts} +1 -1
- package/dist/{react-email-DRkmpgX-.d.cts → react-email-DHkCZ7TG.d.cts} +1 -1
- package/dist/server.d.cts +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/{types-DiseE-UH.d.cts → types-edFeUest.d.cts} +88 -2
- package/dist/{types-DiseE-UH.d.ts → types-edFeUest.d.ts} +88 -2
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -63,17 +63,27 @@ __export(index_exports, {
|
|
|
63
63
|
AT_RULE_FEATURES: () => AT_RULE_FEATURES,
|
|
64
64
|
COMPOUND_VALUE_FEATURES: () => COMPOUND_VALUE_FEATURES,
|
|
65
65
|
CSS_FUNCTION_FEATURES: () => CSS_FUNCTION_FEATURES,
|
|
66
|
+
CSS_PROPERTY_FEATURES: () => CSS_PROPERTY_FEATURES,
|
|
66
67
|
CSS_SUPPORT: () => CSS_SUPPORT,
|
|
67
68
|
CSS_SUPPORT_NOTES: () => CSS_SUPPORT_NOTES,
|
|
68
69
|
CompileError: () => CompileError,
|
|
69
70
|
EMAIL_CLIENTS: () => EMAIL_CLIENTS,
|
|
70
71
|
EMPTY_DELIVERABILITY: () => EMPTY_DELIVERABILITY,
|
|
72
|
+
FEATURE_LAST_TESTED: () => FEATURE_LAST_TESTED,
|
|
71
73
|
FEATURE_URLS: () => FEATURE_URLS,
|
|
72
74
|
GENERIC_LINK_TEXT: () => GENERIC_LINK_TEXT,
|
|
75
|
+
GRACEFUL_FEATURES: () => GRACEFUL_FEATURES,
|
|
76
|
+
HTML_ATTRIBUTE_FEATURES: () => HTML_ATTRIBUTE_FEATURES,
|
|
73
77
|
HTML_ELEMENT_FEATURES: () => HTML_ELEMENT_FEATURES,
|
|
78
|
+
HTML_MISC_FEATURES: () => HTML_MISC_FEATURES,
|
|
79
|
+
IMAGE_FORMATS: () => IMAGE_FORMATS,
|
|
80
|
+
IMAGE_SUPPORT: () => IMAGE_SUPPORT,
|
|
81
|
+
IMAGE_SUPPORT_NOTES: () => IMAGE_SUPPORT_NOTES,
|
|
74
82
|
MAX_HTML_SIZE: () => MAX_HTML_SIZE,
|
|
75
83
|
MAX_WARNING_LOCATIONS: () => MAX_WARNING_LOCATIONS,
|
|
84
|
+
SELECTOR_FEATURES: () => SELECTOR_FEATURES,
|
|
76
85
|
STRUCTURAL_FIX_PROPERTIES: () => STRUCTURAL_FIX_PROPERTIES,
|
|
86
|
+
SUPPORT_CLIENTS: () => SUPPORT_CLIENTS,
|
|
77
87
|
VALUE_CAVEAT_PROPS: () => VALUE_CAVEAT_PROPS,
|
|
78
88
|
alphaBlend: () => alphaBlend,
|
|
79
89
|
analyzeEmail: () => analyzeEmail,
|
|
@@ -311,7 +321,30 @@ var cheerio2 = __toESM(require("cheerio"), 1);
|
|
|
311
321
|
var csstree2 = __toESM(require("css-tree"), 1);
|
|
312
322
|
|
|
313
323
|
// src/rules/css-support.ts
|
|
314
|
-
var
|
|
324
|
+
var SUPPORT_CLIENTS = [
|
|
325
|
+
"gmail-web",
|
|
326
|
+
"gmail-android",
|
|
327
|
+
"gmail-ios",
|
|
328
|
+
"outlook-web",
|
|
329
|
+
"outlook-windows",
|
|
330
|
+
"outlook-windows-legacy",
|
|
331
|
+
"outlook-ios",
|
|
332
|
+
"outlook-android",
|
|
333
|
+
"outlook-macos",
|
|
334
|
+
"apple-mail-macos",
|
|
335
|
+
"apple-mail-ios",
|
|
336
|
+
"yahoo-mail",
|
|
337
|
+
"yahoo-mail-android",
|
|
338
|
+
"yahoo-mail-ios",
|
|
339
|
+
"samsung-mail",
|
|
340
|
+
"thunderbird",
|
|
341
|
+
"hey-mail",
|
|
342
|
+
"protonmail",
|
|
343
|
+
"aol",
|
|
344
|
+
"fastmail",
|
|
345
|
+
"superhuman"
|
|
346
|
+
];
|
|
347
|
+
var CSS_SUPPORT_TABLE = {
|
|
315
348
|
"<abbr>": {
|
|
316
349
|
"gmail-web": "supported",
|
|
317
350
|
"gmail-android": "supported",
|
|
@@ -422,7 +455,7 @@ var CSS_SUPPORT = {
|
|
|
422
455
|
"samsung-mail": "supported",
|
|
423
456
|
"thunderbird": "supported",
|
|
424
457
|
"hey-mail": "partial",
|
|
425
|
-
"protonmail": "
|
|
458
|
+
"protonmail": "unsupported",
|
|
426
459
|
"aol": "partial",
|
|
427
460
|
"fastmail": "partial",
|
|
428
461
|
"superhuman": "unknown"
|
|
@@ -492,10 +525,56 @@ var CSS_SUPPORT = {
|
|
|
492
525
|
"thunderbird": "supported",
|
|
493
526
|
"hey-mail": "partial",
|
|
494
527
|
"protonmail": "unsupported",
|
|
495
|
-
"aol": "
|
|
528
|
+
"aol": "unsupported",
|
|
496
529
|
"fastmail": "unsupported",
|
|
497
530
|
"superhuman": "unknown"
|
|
498
531
|
},
|
|
532
|
+
'<button type="reset">': {
|
|
533
|
+
"gmail-web": "supported",
|
|
534
|
+
"gmail-android": "supported",
|
|
535
|
+
"gmail-ios": "partial",
|
|
536
|
+
"outlook-web": "supported",
|
|
537
|
+
"outlook-windows": "unsupported",
|
|
538
|
+
"outlook-windows-legacy": "unsupported",
|
|
539
|
+
"outlook-ios": "unsupported",
|
|
540
|
+
"outlook-android": "supported",
|
|
541
|
+
"outlook-macos": "supported",
|
|
542
|
+
"apple-mail-macos": "supported",
|
|
543
|
+
"apple-mail-ios": "supported",
|
|
544
|
+
"yahoo-mail": "unsupported",
|
|
545
|
+
"yahoo-mail-android": "unsupported",
|
|
546
|
+
"yahoo-mail-ios": "unsupported",
|
|
547
|
+
"samsung-mail": "supported",
|
|
548
|
+
"thunderbird": "partial",
|
|
549
|
+
"hey-mail": "unsupported",
|
|
550
|
+
"protonmail": "unsupported",
|
|
551
|
+
"aol": "unsupported",
|
|
552
|
+
"fastmail": "supported",
|
|
553
|
+
"superhuman": "unknown"
|
|
554
|
+
},
|
|
555
|
+
'<button type="submit">': {
|
|
556
|
+
"gmail-web": "supported",
|
|
557
|
+
"gmail-android": "supported",
|
|
558
|
+
"gmail-ios": "partial",
|
|
559
|
+
"outlook-web": "unsupported",
|
|
560
|
+
"outlook-windows": "unsupported",
|
|
561
|
+
"outlook-windows-legacy": "unsupported",
|
|
562
|
+
"outlook-ios": "unsupported",
|
|
563
|
+
"outlook-android": "supported",
|
|
564
|
+
"outlook-macos": "unsupported",
|
|
565
|
+
"apple-mail-macos": "supported",
|
|
566
|
+
"apple-mail-ios": "supported",
|
|
567
|
+
"yahoo-mail": "supported",
|
|
568
|
+
"yahoo-mail-android": "supported",
|
|
569
|
+
"yahoo-mail-ios": "unsupported",
|
|
570
|
+
"samsung-mail": "supported",
|
|
571
|
+
"thunderbird": "supported",
|
|
572
|
+
"hey-mail": "unsupported",
|
|
573
|
+
"protonmail": "unsupported",
|
|
574
|
+
"aol": "supported",
|
|
575
|
+
"fastmail": "supported",
|
|
576
|
+
"superhuman": "unknown"
|
|
577
|
+
},
|
|
499
578
|
"<code>": {
|
|
500
579
|
"gmail-web": "supported",
|
|
501
580
|
"gmail-android": "supported",
|
|
@@ -703,6 +782,144 @@ var CSS_SUPPORT = {
|
|
|
703
782
|
"fastmail": "supported",
|
|
704
783
|
"superhuman": "unknown"
|
|
705
784
|
},
|
|
785
|
+
'<input type="checkbox">': {
|
|
786
|
+
"gmail-web": "supported",
|
|
787
|
+
"gmail-android": "supported",
|
|
788
|
+
"gmail-ios": "supported",
|
|
789
|
+
"outlook-web": "supported",
|
|
790
|
+
"outlook-windows": "unsupported",
|
|
791
|
+
"outlook-windows-legacy": "unsupported",
|
|
792
|
+
"outlook-ios": "supported",
|
|
793
|
+
"outlook-android": "supported",
|
|
794
|
+
"outlook-macos": "supported",
|
|
795
|
+
"apple-mail-macos": "supported",
|
|
796
|
+
"apple-mail-ios": "supported",
|
|
797
|
+
"yahoo-mail": "supported",
|
|
798
|
+
"yahoo-mail-android": "supported",
|
|
799
|
+
"yahoo-mail-ios": "supported",
|
|
800
|
+
"samsung-mail": "supported",
|
|
801
|
+
"thunderbird": "partial",
|
|
802
|
+
"hey-mail": "unsupported",
|
|
803
|
+
"protonmail": "unsupported",
|
|
804
|
+
"aol": "supported",
|
|
805
|
+
"fastmail": "supported",
|
|
806
|
+
"superhuman": "unknown"
|
|
807
|
+
},
|
|
808
|
+
'<input type="hidden">': {
|
|
809
|
+
"gmail-web": "supported",
|
|
810
|
+
"gmail-android": "supported",
|
|
811
|
+
"gmail-ios": "supported",
|
|
812
|
+
"outlook-web": "supported",
|
|
813
|
+
"outlook-windows": "unsupported",
|
|
814
|
+
"outlook-windows-legacy": "unsupported",
|
|
815
|
+
"outlook-ios": "supported",
|
|
816
|
+
"outlook-android": "supported",
|
|
817
|
+
"outlook-macos": "supported",
|
|
818
|
+
"apple-mail-macos": "supported",
|
|
819
|
+
"apple-mail-ios": "supported",
|
|
820
|
+
"yahoo-mail": "supported",
|
|
821
|
+
"yahoo-mail-android": "supported",
|
|
822
|
+
"yahoo-mail-ios": "supported",
|
|
823
|
+
"samsung-mail": "supported",
|
|
824
|
+
"thunderbird": "partial",
|
|
825
|
+
"hey-mail": "unsupported",
|
|
826
|
+
"protonmail": "unsupported",
|
|
827
|
+
"aol": "supported",
|
|
828
|
+
"fastmail": "supported",
|
|
829
|
+
"superhuman": "unknown"
|
|
830
|
+
},
|
|
831
|
+
'<input type="radio">': {
|
|
832
|
+
"gmail-web": "supported",
|
|
833
|
+
"gmail-android": "supported",
|
|
834
|
+
"gmail-ios": "supported",
|
|
835
|
+
"outlook-web": "supported",
|
|
836
|
+
"outlook-windows": "unsupported",
|
|
837
|
+
"outlook-windows-legacy": "unsupported",
|
|
838
|
+
"outlook-ios": "supported",
|
|
839
|
+
"outlook-android": "supported",
|
|
840
|
+
"outlook-macos": "supported",
|
|
841
|
+
"apple-mail-macos": "supported",
|
|
842
|
+
"apple-mail-ios": "supported",
|
|
843
|
+
"yahoo-mail": "supported",
|
|
844
|
+
"yahoo-mail-android": "supported",
|
|
845
|
+
"yahoo-mail-ios": "supported",
|
|
846
|
+
"samsung-mail": "supported",
|
|
847
|
+
"thunderbird": "partial",
|
|
848
|
+
"hey-mail": "unsupported",
|
|
849
|
+
"protonmail": "unsupported",
|
|
850
|
+
"aol": "supported",
|
|
851
|
+
"fastmail": "supported",
|
|
852
|
+
"superhuman": "unknown"
|
|
853
|
+
},
|
|
854
|
+
'<input type="reset">': {
|
|
855
|
+
"gmail-web": "supported",
|
|
856
|
+
"gmail-android": "supported",
|
|
857
|
+
"gmail-ios": "partial",
|
|
858
|
+
"outlook-web": "supported",
|
|
859
|
+
"outlook-windows": "unsupported",
|
|
860
|
+
"outlook-windows-legacy": "unsupported",
|
|
861
|
+
"outlook-ios": "supported",
|
|
862
|
+
"outlook-android": "supported",
|
|
863
|
+
"outlook-macos": "supported",
|
|
864
|
+
"apple-mail-macos": "supported",
|
|
865
|
+
"apple-mail-ios": "supported",
|
|
866
|
+
"yahoo-mail": "supported",
|
|
867
|
+
"yahoo-mail-android": "supported",
|
|
868
|
+
"yahoo-mail-ios": "supported",
|
|
869
|
+
"samsung-mail": "supported",
|
|
870
|
+
"thunderbird": "partial",
|
|
871
|
+
"hey-mail": "unsupported",
|
|
872
|
+
"protonmail": "unsupported",
|
|
873
|
+
"aol": "supported",
|
|
874
|
+
"fastmail": "supported",
|
|
875
|
+
"superhuman": "unknown"
|
|
876
|
+
},
|
|
877
|
+
'<input type="submit">': {
|
|
878
|
+
"gmail-web": "supported",
|
|
879
|
+
"gmail-android": "supported",
|
|
880
|
+
"gmail-ios": "partial",
|
|
881
|
+
"outlook-web": "unsupported",
|
|
882
|
+
"outlook-windows": "unsupported",
|
|
883
|
+
"outlook-windows-legacy": "unsupported",
|
|
884
|
+
"outlook-ios": "supported",
|
|
885
|
+
"outlook-android": "supported",
|
|
886
|
+
"outlook-macos": "unsupported",
|
|
887
|
+
"apple-mail-macos": "supported",
|
|
888
|
+
"apple-mail-ios": "supported",
|
|
889
|
+
"yahoo-mail": "supported",
|
|
890
|
+
"yahoo-mail-android": "supported",
|
|
891
|
+
"yahoo-mail-ios": "unsupported",
|
|
892
|
+
"samsung-mail": "supported",
|
|
893
|
+
"thunderbird": "supported",
|
|
894
|
+
"hey-mail": "unsupported",
|
|
895
|
+
"protonmail": "unsupported",
|
|
896
|
+
"aol": "supported",
|
|
897
|
+
"fastmail": "supported",
|
|
898
|
+
"superhuman": "unknown"
|
|
899
|
+
},
|
|
900
|
+
'<input type="text">': {
|
|
901
|
+
"gmail-web": "supported",
|
|
902
|
+
"gmail-android": "supported",
|
|
903
|
+
"gmail-ios": "supported",
|
|
904
|
+
"outlook-web": "supported",
|
|
905
|
+
"outlook-windows": "unsupported",
|
|
906
|
+
"outlook-windows-legacy": "unsupported",
|
|
907
|
+
"outlook-ios": "supported",
|
|
908
|
+
"outlook-android": "unsupported",
|
|
909
|
+
"outlook-macos": "supported",
|
|
910
|
+
"apple-mail-macos": "supported",
|
|
911
|
+
"apple-mail-ios": "supported",
|
|
912
|
+
"yahoo-mail": "supported",
|
|
913
|
+
"yahoo-mail-android": "unsupported",
|
|
914
|
+
"yahoo-mail-ios": "supported",
|
|
915
|
+
"samsung-mail": "unsupported",
|
|
916
|
+
"thunderbird": "partial",
|
|
917
|
+
"hey-mail": "unsupported",
|
|
918
|
+
"protonmail": "unsupported",
|
|
919
|
+
"aol": "supported",
|
|
920
|
+
"fastmail": "supported",
|
|
921
|
+
"superhuman": "unknown"
|
|
922
|
+
},
|
|
706
923
|
"<link>": {
|
|
707
924
|
"gmail-web": "unsupported",
|
|
708
925
|
"gmail-android": "unsupported",
|
|
@@ -1089,7 +1306,7 @@ var CSS_SUPPORT = {
|
|
|
1089
1306
|
"samsung-mail": "supported",
|
|
1090
1307
|
"thunderbird": "supported",
|
|
1091
1308
|
"hey-mail": "supported",
|
|
1092
|
-
"protonmail": "
|
|
1309
|
+
"protonmail": "partial",
|
|
1093
1310
|
"aol": "supported",
|
|
1094
1311
|
"fastmail": "supported",
|
|
1095
1312
|
"superhuman": "supported"
|
|
@@ -1158,7 +1375,7 @@ var CSS_SUPPORT = {
|
|
|
1158
1375
|
"samsung-mail": "unsupported",
|
|
1159
1376
|
"thunderbird": "partial",
|
|
1160
1377
|
"hey-mail": "unsupported",
|
|
1161
|
-
"protonmail": "
|
|
1378
|
+
"protonmail": "partial",
|
|
1162
1379
|
"aol": "supported",
|
|
1163
1380
|
"fastmail": "supported",
|
|
1164
1381
|
"superhuman": "unknown"
|
|
@@ -1232,15 +1449,38 @@ var CSS_SUPPORT = {
|
|
|
1232
1449
|
"fastmail": "supported",
|
|
1233
1450
|
"superhuman": "unknown"
|
|
1234
1451
|
},
|
|
1235
|
-
"
|
|
1452
|
+
"[align]": {
|
|
1453
|
+
"gmail-web": "supported",
|
|
1454
|
+
"gmail-android": "supported",
|
|
1455
|
+
"gmail-ios": "supported",
|
|
1456
|
+
"outlook-web": "supported",
|
|
1457
|
+
"outlook-windows": "supported",
|
|
1458
|
+
"outlook-windows-legacy": "supported",
|
|
1459
|
+
"outlook-ios": "supported",
|
|
1460
|
+
"outlook-android": "supported",
|
|
1461
|
+
"outlook-macos": "partial",
|
|
1462
|
+
"apple-mail-macos": "supported",
|
|
1463
|
+
"apple-mail-ios": "supported",
|
|
1464
|
+
"yahoo-mail": "supported",
|
|
1465
|
+
"yahoo-mail-android": "supported",
|
|
1466
|
+
"yahoo-mail-ios": "supported",
|
|
1467
|
+
"samsung-mail": "supported",
|
|
1468
|
+
"thunderbird": "supported",
|
|
1469
|
+
"hey-mail": "partial",
|
|
1470
|
+
"protonmail": "partial",
|
|
1471
|
+
"aol": "supported",
|
|
1472
|
+
"fastmail": "supported",
|
|
1473
|
+
"superhuman": "unknown"
|
|
1474
|
+
},
|
|
1475
|
+
"[aria-describedby]": {
|
|
1236
1476
|
"gmail-web": "unsupported",
|
|
1237
1477
|
"gmail-android": "unsupported",
|
|
1238
1478
|
"gmail-ios": "unsupported",
|
|
1239
|
-
"outlook-web": "
|
|
1240
|
-
"outlook-windows": "
|
|
1479
|
+
"outlook-web": "supported",
|
|
1480
|
+
"outlook-windows": "unsupported",
|
|
1241
1481
|
"outlook-windows-legacy": "unsupported",
|
|
1242
|
-
"outlook-ios": "
|
|
1243
|
-
"outlook-android": "
|
|
1482
|
+
"outlook-ios": "supported",
|
|
1483
|
+
"outlook-android": "supported",
|
|
1244
1484
|
"outlook-macos": "supported",
|
|
1245
1485
|
"apple-mail-macos": "supported",
|
|
1246
1486
|
"apple-mail-ios": "supported",
|
|
@@ -1248,37 +1488,382 @@ var CSS_SUPPORT = {
|
|
|
1248
1488
|
"yahoo-mail-android": "unsupported",
|
|
1249
1489
|
"yahoo-mail-ios": "unsupported",
|
|
1250
1490
|
"samsung-mail": "supported",
|
|
1251
|
-
"thunderbird": "
|
|
1252
|
-
"hey-mail": "
|
|
1253
|
-
"protonmail": "
|
|
1491
|
+
"thunderbird": "unsupported",
|
|
1492
|
+
"hey-mail": "unsupported",
|
|
1493
|
+
"protonmail": "supported",
|
|
1254
1494
|
"aol": "unsupported",
|
|
1255
1495
|
"fastmail": "unsupported",
|
|
1256
|
-
"superhuman": "
|
|
1496
|
+
"superhuman": "unknown"
|
|
1257
1497
|
},
|
|
1258
|
-
"
|
|
1259
|
-
"gmail-web": "
|
|
1260
|
-
"gmail-android": "
|
|
1261
|
-
"gmail-ios": "
|
|
1262
|
-
"outlook-web": "
|
|
1498
|
+
"[aria-hidden]": {
|
|
1499
|
+
"gmail-web": "supported",
|
|
1500
|
+
"gmail-android": "supported",
|
|
1501
|
+
"gmail-ios": "supported",
|
|
1502
|
+
"outlook-web": "supported",
|
|
1263
1503
|
"outlook-windows": "supported",
|
|
1264
|
-
"outlook-windows-legacy": "
|
|
1265
|
-
"outlook-ios": "
|
|
1266
|
-
"outlook-android": "
|
|
1504
|
+
"outlook-windows-legacy": "unsupported",
|
|
1505
|
+
"outlook-ios": "supported",
|
|
1506
|
+
"outlook-android": "supported",
|
|
1267
1507
|
"outlook-macos": "supported",
|
|
1268
1508
|
"apple-mail-macos": "supported",
|
|
1269
1509
|
"apple-mail-ios": "supported",
|
|
1270
1510
|
"yahoo-mail": "unsupported",
|
|
1271
1511
|
"yahoo-mail-android": "unsupported",
|
|
1272
1512
|
"yahoo-mail-ios": "unsupported",
|
|
1273
|
-
"samsung-mail": "
|
|
1513
|
+
"samsung-mail": "supported",
|
|
1274
1514
|
"thunderbird": "unsupported",
|
|
1275
|
-
"hey-mail": "
|
|
1276
|
-
"protonmail": "
|
|
1515
|
+
"hey-mail": "unsupported",
|
|
1516
|
+
"protonmail": "supported",
|
|
1277
1517
|
"aol": "unsupported",
|
|
1278
|
-
"fastmail": "
|
|
1279
|
-
"superhuman": "
|
|
1518
|
+
"fastmail": "supported",
|
|
1519
|
+
"superhuman": "unknown"
|
|
1280
1520
|
},
|
|
1281
|
-
"
|
|
1521
|
+
"[aria-label]": {
|
|
1522
|
+
"gmail-web": "supported",
|
|
1523
|
+
"gmail-android": "supported",
|
|
1524
|
+
"gmail-ios": "supported",
|
|
1525
|
+
"outlook-web": "supported",
|
|
1526
|
+
"outlook-windows": "supported",
|
|
1527
|
+
"outlook-windows-legacy": "unsupported",
|
|
1528
|
+
"outlook-ios": "supported",
|
|
1529
|
+
"outlook-android": "supported",
|
|
1530
|
+
"outlook-macos": "supported",
|
|
1531
|
+
"apple-mail-macos": "supported",
|
|
1532
|
+
"apple-mail-ios": "supported",
|
|
1533
|
+
"yahoo-mail": "unsupported",
|
|
1534
|
+
"yahoo-mail-android": "unsupported",
|
|
1535
|
+
"yahoo-mail-ios": "unsupported",
|
|
1536
|
+
"samsung-mail": "supported",
|
|
1537
|
+
"thunderbird": "unsupported",
|
|
1538
|
+
"hey-mail": "unsupported",
|
|
1539
|
+
"protonmail": "supported",
|
|
1540
|
+
"aol": "unsupported",
|
|
1541
|
+
"fastmail": "supported",
|
|
1542
|
+
"superhuman": "unknown"
|
|
1543
|
+
},
|
|
1544
|
+
"[aria-labelledby]": {
|
|
1545
|
+
"gmail-web": "unsupported",
|
|
1546
|
+
"gmail-android": "unsupported",
|
|
1547
|
+
"gmail-ios": "unsupported",
|
|
1548
|
+
"outlook-web": "unsupported",
|
|
1549
|
+
"outlook-windows": "unsupported",
|
|
1550
|
+
"outlook-windows-legacy": "unsupported",
|
|
1551
|
+
"outlook-ios": "supported",
|
|
1552
|
+
"outlook-android": "supported",
|
|
1553
|
+
"outlook-macos": "supported",
|
|
1554
|
+
"apple-mail-macos": "supported",
|
|
1555
|
+
"apple-mail-ios": "supported",
|
|
1556
|
+
"yahoo-mail": "unsupported",
|
|
1557
|
+
"yahoo-mail-android": "unsupported",
|
|
1558
|
+
"yahoo-mail-ios": "unsupported",
|
|
1559
|
+
"samsung-mail": "supported",
|
|
1560
|
+
"thunderbird": "unsupported",
|
|
1561
|
+
"hey-mail": "unsupported",
|
|
1562
|
+
"protonmail": "supported",
|
|
1563
|
+
"aol": "unsupported",
|
|
1564
|
+
"fastmail": "unsupported",
|
|
1565
|
+
"superhuman": "unknown"
|
|
1566
|
+
},
|
|
1567
|
+
"[aria-live]": {
|
|
1568
|
+
"gmail-web": "supported",
|
|
1569
|
+
"gmail-android": "supported",
|
|
1570
|
+
"gmail-ios": "supported",
|
|
1571
|
+
"outlook-web": "unsupported",
|
|
1572
|
+
"outlook-windows": "partial",
|
|
1573
|
+
"outlook-windows-legacy": "unsupported",
|
|
1574
|
+
"outlook-ios": "unsupported",
|
|
1575
|
+
"outlook-android": "unsupported",
|
|
1576
|
+
"outlook-macos": "supported",
|
|
1577
|
+
"apple-mail-macos": "supported",
|
|
1578
|
+
"apple-mail-ios": "supported",
|
|
1579
|
+
"yahoo-mail": "unsupported",
|
|
1580
|
+
"yahoo-mail-android": "unsupported",
|
|
1581
|
+
"yahoo-mail-ios": "unsupported",
|
|
1582
|
+
"samsung-mail": "supported",
|
|
1583
|
+
"thunderbird": "unsupported",
|
|
1584
|
+
"hey-mail": "unsupported",
|
|
1585
|
+
"protonmail": "supported",
|
|
1586
|
+
"aol": "unsupported",
|
|
1587
|
+
"fastmail": "supported",
|
|
1588
|
+
"superhuman": "unknown"
|
|
1589
|
+
},
|
|
1590
|
+
"[background]": {
|
|
1591
|
+
"gmail-web": "supported",
|
|
1592
|
+
"gmail-android": "partial",
|
|
1593
|
+
"gmail-ios": "partial",
|
|
1594
|
+
"outlook-web": "supported",
|
|
1595
|
+
"outlook-windows": "partial",
|
|
1596
|
+
"outlook-windows-legacy": "unsupported",
|
|
1597
|
+
"outlook-ios": "supported",
|
|
1598
|
+
"outlook-android": "supported",
|
|
1599
|
+
"outlook-macos": "supported",
|
|
1600
|
+
"apple-mail-macos": "supported",
|
|
1601
|
+
"apple-mail-ios": "supported",
|
|
1602
|
+
"yahoo-mail": "supported",
|
|
1603
|
+
"yahoo-mail-android": "supported",
|
|
1604
|
+
"yahoo-mail-ios": "supported",
|
|
1605
|
+
"samsung-mail": "supported",
|
|
1606
|
+
"thunderbird": "supported",
|
|
1607
|
+
"hey-mail": "unsupported",
|
|
1608
|
+
"protonmail": "supported",
|
|
1609
|
+
"aol": "supported",
|
|
1610
|
+
"fastmail": "supported",
|
|
1611
|
+
"superhuman": "unknown"
|
|
1612
|
+
},
|
|
1613
|
+
"[cellpadding]": {
|
|
1614
|
+
"gmail-web": "supported",
|
|
1615
|
+
"gmail-android": "supported",
|
|
1616
|
+
"gmail-ios": "supported",
|
|
1617
|
+
"outlook-web": "supported",
|
|
1618
|
+
"outlook-windows": "supported",
|
|
1619
|
+
"outlook-windows-legacy": "supported",
|
|
1620
|
+
"outlook-ios": "supported",
|
|
1621
|
+
"outlook-android": "supported",
|
|
1622
|
+
"outlook-macos": "supported",
|
|
1623
|
+
"apple-mail-macos": "supported",
|
|
1624
|
+
"apple-mail-ios": "supported",
|
|
1625
|
+
"yahoo-mail": "supported",
|
|
1626
|
+
"yahoo-mail-android": "supported",
|
|
1627
|
+
"yahoo-mail-ios": "supported",
|
|
1628
|
+
"samsung-mail": "supported",
|
|
1629
|
+
"thunderbird": "supported",
|
|
1630
|
+
"hey-mail": "unknown",
|
|
1631
|
+
"protonmail": "supported",
|
|
1632
|
+
"aol": "supported",
|
|
1633
|
+
"fastmail": "unknown",
|
|
1634
|
+
"superhuman": "unknown"
|
|
1635
|
+
},
|
|
1636
|
+
"[cellspacing]": {
|
|
1637
|
+
"gmail-web": "supported",
|
|
1638
|
+
"gmail-android": "supported",
|
|
1639
|
+
"gmail-ios": "supported",
|
|
1640
|
+
"outlook-web": "supported",
|
|
1641
|
+
"outlook-windows": "supported",
|
|
1642
|
+
"outlook-windows-legacy": "supported",
|
|
1643
|
+
"outlook-ios": "supported",
|
|
1644
|
+
"outlook-android": "supported",
|
|
1645
|
+
"outlook-macos": "supported",
|
|
1646
|
+
"apple-mail-macos": "supported",
|
|
1647
|
+
"apple-mail-ios": "supported",
|
|
1648
|
+
"yahoo-mail": "supported",
|
|
1649
|
+
"yahoo-mail-android": "supported",
|
|
1650
|
+
"yahoo-mail-ios": "supported",
|
|
1651
|
+
"samsung-mail": "supported",
|
|
1652
|
+
"thunderbird": "supported",
|
|
1653
|
+
"hey-mail": "unknown",
|
|
1654
|
+
"protonmail": "supported",
|
|
1655
|
+
"aol": "supported",
|
|
1656
|
+
"fastmail": "unknown",
|
|
1657
|
+
"superhuman": "unknown"
|
|
1658
|
+
},
|
|
1659
|
+
"[command]": {
|
|
1660
|
+
"gmail-web": "unsupported",
|
|
1661
|
+
"gmail-android": "unsupported",
|
|
1662
|
+
"gmail-ios": "unsupported",
|
|
1663
|
+
"outlook-web": "unsupported",
|
|
1664
|
+
"outlook-windows": "unsupported",
|
|
1665
|
+
"outlook-windows-legacy": "unsupported",
|
|
1666
|
+
"outlook-ios": "unknown",
|
|
1667
|
+
"outlook-android": "unsupported",
|
|
1668
|
+
"outlook-macos": "unsupported",
|
|
1669
|
+
"apple-mail-macos": "supported",
|
|
1670
|
+
"apple-mail-ios": "supported",
|
|
1671
|
+
"yahoo-mail": "unsupported",
|
|
1672
|
+
"yahoo-mail-android": "unsupported",
|
|
1673
|
+
"yahoo-mail-ios": "unsupported",
|
|
1674
|
+
"samsung-mail": "partial",
|
|
1675
|
+
"thunderbird": "supported",
|
|
1676
|
+
"hey-mail": "unknown",
|
|
1677
|
+
"protonmail": "unsupported",
|
|
1678
|
+
"aol": "unsupported",
|
|
1679
|
+
"fastmail": "unknown",
|
|
1680
|
+
"superhuman": "unknown"
|
|
1681
|
+
},
|
|
1682
|
+
"[dir]": {
|
|
1683
|
+
"gmail-web": "supported",
|
|
1684
|
+
"gmail-android": "supported",
|
|
1685
|
+
"gmail-ios": "supported",
|
|
1686
|
+
"outlook-web": "supported",
|
|
1687
|
+
"outlook-windows": "partial",
|
|
1688
|
+
"outlook-windows-legacy": "partial",
|
|
1689
|
+
"outlook-ios": "supported",
|
|
1690
|
+
"outlook-android": "supported",
|
|
1691
|
+
"outlook-macos": "supported",
|
|
1692
|
+
"apple-mail-macos": "supported",
|
|
1693
|
+
"apple-mail-ios": "supported",
|
|
1694
|
+
"yahoo-mail": "supported",
|
|
1695
|
+
"yahoo-mail-android": "supported",
|
|
1696
|
+
"yahoo-mail-ios": "supported",
|
|
1697
|
+
"samsung-mail": "supported",
|
|
1698
|
+
"thunderbird": "supported",
|
|
1699
|
+
"hey-mail": "supported",
|
|
1700
|
+
"protonmail": "supported",
|
|
1701
|
+
"aol": "supported",
|
|
1702
|
+
"fastmail": "supported",
|
|
1703
|
+
"superhuman": "unknown"
|
|
1704
|
+
},
|
|
1705
|
+
"[height]": {
|
|
1706
|
+
"gmail-web": "supported",
|
|
1707
|
+
"gmail-android": "supported",
|
|
1708
|
+
"gmail-ios": "supported",
|
|
1709
|
+
"outlook-web": "supported",
|
|
1710
|
+
"outlook-windows": "partial",
|
|
1711
|
+
"outlook-windows-legacy": "supported",
|
|
1712
|
+
"outlook-ios": "supported",
|
|
1713
|
+
"outlook-android": "supported",
|
|
1714
|
+
"outlook-macos": "supported",
|
|
1715
|
+
"apple-mail-macos": "supported",
|
|
1716
|
+
"apple-mail-ios": "supported",
|
|
1717
|
+
"yahoo-mail": "supported",
|
|
1718
|
+
"yahoo-mail-android": "supported",
|
|
1719
|
+
"yahoo-mail-ios": "supported",
|
|
1720
|
+
"samsung-mail": "supported",
|
|
1721
|
+
"thunderbird": "supported",
|
|
1722
|
+
"hey-mail": "unsupported",
|
|
1723
|
+
"protonmail": "supported",
|
|
1724
|
+
"aol": "supported",
|
|
1725
|
+
"fastmail": "supported",
|
|
1726
|
+
"superhuman": "unknown"
|
|
1727
|
+
},
|
|
1728
|
+
"[hidden]": {
|
|
1729
|
+
"gmail-web": "unsupported",
|
|
1730
|
+
"gmail-android": "unsupported",
|
|
1731
|
+
"gmail-ios": "unsupported",
|
|
1732
|
+
"outlook-web": "unsupported",
|
|
1733
|
+
"outlook-windows": "unsupported",
|
|
1734
|
+
"outlook-windows-legacy": "unsupported",
|
|
1735
|
+
"outlook-ios": "unsupported",
|
|
1736
|
+
"outlook-android": "unsupported",
|
|
1737
|
+
"outlook-macos": "unsupported",
|
|
1738
|
+
"apple-mail-macos": "supported",
|
|
1739
|
+
"apple-mail-ios": "supported",
|
|
1740
|
+
"yahoo-mail": "unsupported",
|
|
1741
|
+
"yahoo-mail-android": "unsupported",
|
|
1742
|
+
"yahoo-mail-ios": "unsupported",
|
|
1743
|
+
"samsung-mail": "supported",
|
|
1744
|
+
"thunderbird": "supported",
|
|
1745
|
+
"hey-mail": "unknown",
|
|
1746
|
+
"protonmail": "supported",
|
|
1747
|
+
"aol": "unsupported",
|
|
1748
|
+
"fastmail": "unknown",
|
|
1749
|
+
"superhuman": "unknown"
|
|
1750
|
+
},
|
|
1751
|
+
"[lang]": {
|
|
1752
|
+
"gmail-web": "supported",
|
|
1753
|
+
"gmail-android": "supported",
|
|
1754
|
+
"gmail-ios": "supported",
|
|
1755
|
+
"outlook-web": "supported",
|
|
1756
|
+
"outlook-windows": "supported",
|
|
1757
|
+
"outlook-windows-legacy": "supported",
|
|
1758
|
+
"outlook-ios": "supported",
|
|
1759
|
+
"outlook-android": "supported",
|
|
1760
|
+
"outlook-macos": "supported",
|
|
1761
|
+
"apple-mail-macos": "supported",
|
|
1762
|
+
"apple-mail-ios": "supported",
|
|
1763
|
+
"yahoo-mail": "partial",
|
|
1764
|
+
"yahoo-mail-android": "partial",
|
|
1765
|
+
"yahoo-mail-ios": "partial",
|
|
1766
|
+
"samsung-mail": "supported",
|
|
1767
|
+
"thunderbird": "supported",
|
|
1768
|
+
"hey-mail": "unsupported",
|
|
1769
|
+
"protonmail": "supported",
|
|
1770
|
+
"aol": "partial",
|
|
1771
|
+
"fastmail": "supported",
|
|
1772
|
+
"superhuman": "unknown"
|
|
1773
|
+
},
|
|
1774
|
+
"[loading]": {
|
|
1775
|
+
"gmail-web": "unsupported",
|
|
1776
|
+
"gmail-android": "unsupported",
|
|
1777
|
+
"gmail-ios": "unsupported",
|
|
1778
|
+
"outlook-web": "unsupported",
|
|
1779
|
+
"outlook-windows": "unsupported",
|
|
1780
|
+
"outlook-windows-legacy": "unsupported",
|
|
1781
|
+
"outlook-ios": "unsupported",
|
|
1782
|
+
"outlook-android": "unsupported",
|
|
1783
|
+
"outlook-macos": "supported",
|
|
1784
|
+
"apple-mail-macos": "supported",
|
|
1785
|
+
"apple-mail-ios": "supported",
|
|
1786
|
+
"yahoo-mail": "unsupported",
|
|
1787
|
+
"yahoo-mail-android": "unsupported",
|
|
1788
|
+
"yahoo-mail-ios": "unsupported",
|
|
1789
|
+
"samsung-mail": "supported",
|
|
1790
|
+
"thunderbird": "supported",
|
|
1791
|
+
"hey-mail": "partial",
|
|
1792
|
+
"protonmail": "unsupported",
|
|
1793
|
+
"aol": "unsupported",
|
|
1794
|
+
"fastmail": "unsupported",
|
|
1795
|
+
"superhuman": "unknown"
|
|
1796
|
+
},
|
|
1797
|
+
"[popover]": {
|
|
1798
|
+
"gmail-web": "unsupported",
|
|
1799
|
+
"gmail-android": "unsupported",
|
|
1800
|
+
"gmail-ios": "unsupported",
|
|
1801
|
+
"outlook-web": "unsupported",
|
|
1802
|
+
"outlook-windows": "unsupported",
|
|
1803
|
+
"outlook-windows-legacy": "unsupported",
|
|
1804
|
+
"outlook-ios": "unsupported",
|
|
1805
|
+
"outlook-android": "unsupported",
|
|
1806
|
+
"outlook-macos": "unsupported",
|
|
1807
|
+
"apple-mail-macos": "supported",
|
|
1808
|
+
"apple-mail-ios": "supported",
|
|
1809
|
+
"yahoo-mail": "unsupported",
|
|
1810
|
+
"yahoo-mail-android": "unsupported",
|
|
1811
|
+
"yahoo-mail-ios": "unsupported",
|
|
1812
|
+
"samsung-mail": "partial",
|
|
1813
|
+
"thunderbird": "partial",
|
|
1814
|
+
"hey-mail": "unsupported",
|
|
1815
|
+
"protonmail": "supported",
|
|
1816
|
+
"aol": "unsupported",
|
|
1817
|
+
"fastmail": "unsupported",
|
|
1818
|
+
"superhuman": "unknown"
|
|
1819
|
+
},
|
|
1820
|
+
"[required]": {
|
|
1821
|
+
"gmail-web": "unsupported",
|
|
1822
|
+
"gmail-android": "partial",
|
|
1823
|
+
"gmail-ios": "unsupported",
|
|
1824
|
+
"outlook-web": "unsupported",
|
|
1825
|
+
"outlook-windows": "unsupported",
|
|
1826
|
+
"outlook-windows-legacy": "unsupported",
|
|
1827
|
+
"outlook-ios": "supported",
|
|
1828
|
+
"outlook-android": "supported",
|
|
1829
|
+
"outlook-macos": "supported",
|
|
1830
|
+
"apple-mail-macos": "supported",
|
|
1831
|
+
"apple-mail-ios": "supported",
|
|
1832
|
+
"yahoo-mail": "unsupported",
|
|
1833
|
+
"yahoo-mail-android": "unsupported",
|
|
1834
|
+
"yahoo-mail-ios": "unsupported",
|
|
1835
|
+
"samsung-mail": "supported",
|
|
1836
|
+
"thunderbird": "supported",
|
|
1837
|
+
"hey-mail": "unsupported",
|
|
1838
|
+
"protonmail": "unsupported",
|
|
1839
|
+
"aol": "unsupported",
|
|
1840
|
+
"fastmail": "supported",
|
|
1841
|
+
"superhuman": "unknown"
|
|
1842
|
+
},
|
|
1843
|
+
"[role]": {
|
|
1844
|
+
"gmail-web": "supported",
|
|
1845
|
+
"gmail-android": "supported",
|
|
1846
|
+
"gmail-ios": "supported",
|
|
1847
|
+
"outlook-web": "supported",
|
|
1848
|
+
"outlook-windows": "supported",
|
|
1849
|
+
"outlook-windows-legacy": "unsupported",
|
|
1850
|
+
"outlook-ios": "supported",
|
|
1851
|
+
"outlook-android": "supported",
|
|
1852
|
+
"outlook-macos": "supported",
|
|
1853
|
+
"apple-mail-macos": "supported",
|
|
1854
|
+
"apple-mail-ios": "supported",
|
|
1855
|
+
"yahoo-mail": "partial",
|
|
1856
|
+
"yahoo-mail-android": "partial",
|
|
1857
|
+
"yahoo-mail-ios": "partial",
|
|
1858
|
+
"samsung-mail": "supported",
|
|
1859
|
+
"thunderbird": "supported",
|
|
1860
|
+
"hey-mail": "unsupported",
|
|
1861
|
+
"protonmail": "supported",
|
|
1862
|
+
"aol": "partial",
|
|
1863
|
+
"fastmail": "supported",
|
|
1864
|
+
"superhuman": "unknown"
|
|
1865
|
+
},
|
|
1866
|
+
"[srcset]": {
|
|
1282
1867
|
"gmail-web": "unsupported",
|
|
1283
1868
|
"gmail-android": "unsupported",
|
|
1284
1869
|
"gmail-ios": "unsupported",
|
|
@@ -1290,18 +1875,179 @@ var CSS_SUPPORT = {
|
|
|
1290
1875
|
"outlook-macos": "supported",
|
|
1291
1876
|
"apple-mail-macos": "supported",
|
|
1292
1877
|
"apple-mail-ios": "supported",
|
|
1878
|
+
"yahoo-mail": "unsupported",
|
|
1879
|
+
"yahoo-mail-android": "unsupported",
|
|
1880
|
+
"yahoo-mail-ios": "unsupported",
|
|
1881
|
+
"samsung-mail": "supported",
|
|
1882
|
+
"thunderbird": "supported",
|
|
1883
|
+
"hey-mail": "unsupported",
|
|
1884
|
+
"protonmail": "unsupported",
|
|
1885
|
+
"aol": "unsupported",
|
|
1886
|
+
"fastmail": "unsupported",
|
|
1887
|
+
"superhuman": "unknown"
|
|
1888
|
+
},
|
|
1889
|
+
"[target]": {
|
|
1890
|
+
"gmail-web": "unsupported",
|
|
1891
|
+
"gmail-android": "unsupported",
|
|
1892
|
+
"gmail-ios": "unsupported",
|
|
1893
|
+
"outlook-web": "unsupported",
|
|
1894
|
+
"outlook-windows": "partial",
|
|
1895
|
+
"outlook-windows-legacy": "partial",
|
|
1896
|
+
"outlook-ios": "partial",
|
|
1897
|
+
"outlook-android": "partial",
|
|
1898
|
+
"outlook-macos": "partial",
|
|
1899
|
+
"apple-mail-macos": "partial",
|
|
1900
|
+
"apple-mail-ios": "partial",
|
|
1901
|
+
"yahoo-mail": "unsupported",
|
|
1902
|
+
"yahoo-mail-android": "unsupported",
|
|
1903
|
+
"yahoo-mail-ios": "unsupported",
|
|
1904
|
+
"samsung-mail": "partial",
|
|
1905
|
+
"thunderbird": "partial",
|
|
1906
|
+
"hey-mail": "unsupported",
|
|
1907
|
+
"protonmail": "unsupported",
|
|
1908
|
+
"aol": "unsupported",
|
|
1909
|
+
"fastmail": "unsupported",
|
|
1910
|
+
"superhuman": "unknown"
|
|
1911
|
+
},
|
|
1912
|
+
"[valign]": {
|
|
1913
|
+
"gmail-web": "supported",
|
|
1914
|
+
"gmail-android": "supported",
|
|
1915
|
+
"gmail-ios": "supported",
|
|
1916
|
+
"outlook-web": "supported",
|
|
1917
|
+
"outlook-windows": "supported",
|
|
1918
|
+
"outlook-windows-legacy": "supported",
|
|
1919
|
+
"outlook-ios": "supported",
|
|
1920
|
+
"outlook-android": "supported",
|
|
1921
|
+
"outlook-macos": "supported",
|
|
1922
|
+
"apple-mail-macos": "supported",
|
|
1923
|
+
"apple-mail-ios": "supported",
|
|
1924
|
+
"yahoo-mail": "supported",
|
|
1925
|
+
"yahoo-mail-android": "supported",
|
|
1926
|
+
"yahoo-mail-ios": "supported",
|
|
1927
|
+
"samsung-mail": "supported",
|
|
1928
|
+
"thunderbird": "supported",
|
|
1929
|
+
"hey-mail": "supported",
|
|
1930
|
+
"protonmail": "supported",
|
|
1931
|
+
"aol": "supported",
|
|
1932
|
+
"fastmail": "supported",
|
|
1933
|
+
"superhuman": "unknown"
|
|
1934
|
+
},
|
|
1935
|
+
"[width]": {
|
|
1936
|
+
"gmail-web": "supported",
|
|
1937
|
+
"gmail-android": "supported",
|
|
1938
|
+
"gmail-ios": "supported",
|
|
1939
|
+
"outlook-web": "supported",
|
|
1940
|
+
"outlook-windows": "partial",
|
|
1941
|
+
"outlook-windows-legacy": "supported",
|
|
1942
|
+
"outlook-ios": "supported",
|
|
1943
|
+
"outlook-android": "supported",
|
|
1944
|
+
"outlook-macos": "supported",
|
|
1945
|
+
"apple-mail-macos": "supported",
|
|
1946
|
+
"apple-mail-ios": "supported",
|
|
1293
1947
|
"yahoo-mail": "supported",
|
|
1948
|
+
"yahoo-mail-android": "supported",
|
|
1949
|
+
"yahoo-mail-ios": "supported",
|
|
1950
|
+
"samsung-mail": "supported",
|
|
1951
|
+
"thunderbird": "supported",
|
|
1952
|
+
"hey-mail": "unsupported",
|
|
1953
|
+
"protonmail": "supported",
|
|
1954
|
+
"aol": "supported",
|
|
1955
|
+
"fastmail": "supported",
|
|
1956
|
+
"superhuman": "unknown"
|
|
1957
|
+
},
|
|
1958
|
+
"@font-face": {
|
|
1959
|
+
"gmail-web": "unsupported",
|
|
1960
|
+
"gmail-android": "unsupported",
|
|
1961
|
+
"gmail-ios": "unsupported",
|
|
1962
|
+
"outlook-web": "unsupported",
|
|
1963
|
+
"outlook-windows": "partial",
|
|
1964
|
+
"outlook-windows-legacy": "unsupported",
|
|
1965
|
+
"outlook-ios": "unsupported",
|
|
1966
|
+
"outlook-android": "unsupported",
|
|
1967
|
+
"outlook-macos": "supported",
|
|
1968
|
+
"apple-mail-macos": "supported",
|
|
1969
|
+
"apple-mail-ios": "supported",
|
|
1970
|
+
"yahoo-mail": "unsupported",
|
|
1294
1971
|
"yahoo-mail-android": "unsupported",
|
|
1295
1972
|
"yahoo-mail-ios": "unsupported",
|
|
1296
1973
|
"samsung-mail": "supported",
|
|
1297
1974
|
"thunderbird": "supported",
|
|
1298
1975
|
"hey-mail": "supported",
|
|
1299
1976
|
"protonmail": "unsupported",
|
|
1300
|
-
"aol": "
|
|
1977
|
+
"aol": "unsupported",
|
|
1978
|
+
"fastmail": "unsupported",
|
|
1979
|
+
"superhuman": "supported"
|
|
1980
|
+
},
|
|
1981
|
+
"@import": {
|
|
1982
|
+
"gmail-web": "unsupported",
|
|
1983
|
+
"gmail-android": "unsupported",
|
|
1984
|
+
"gmail-ios": "unsupported",
|
|
1985
|
+
"outlook-web": "unsupported",
|
|
1986
|
+
"outlook-windows": "supported",
|
|
1987
|
+
"outlook-windows-legacy": "supported",
|
|
1988
|
+
"outlook-ios": "unsupported",
|
|
1989
|
+
"outlook-android": "unsupported",
|
|
1990
|
+
"outlook-macos": "supported",
|
|
1991
|
+
"apple-mail-macos": "supported",
|
|
1992
|
+
"apple-mail-ios": "supported",
|
|
1993
|
+
"yahoo-mail": "unsupported",
|
|
1994
|
+
"yahoo-mail-android": "unsupported",
|
|
1995
|
+
"yahoo-mail-ios": "unsupported",
|
|
1996
|
+
"samsung-mail": "unsupported",
|
|
1997
|
+
"thunderbird": "unsupported",
|
|
1998
|
+
"hey-mail": "supported",
|
|
1999
|
+
"protonmail": "unsupported",
|
|
2000
|
+
"aol": "unsupported",
|
|
2001
|
+
"fastmail": "unsupported",
|
|
2002
|
+
"superhuman": "unsupported"
|
|
2003
|
+
},
|
|
2004
|
+
"@keyframes": {
|
|
2005
|
+
"gmail-web": "unsupported",
|
|
2006
|
+
"gmail-android": "unsupported",
|
|
2007
|
+
"gmail-ios": "unsupported",
|
|
2008
|
+
"outlook-web": "unsupported",
|
|
2009
|
+
"outlook-windows": "unsupported",
|
|
2010
|
+
"outlook-windows-legacy": "unsupported",
|
|
2011
|
+
"outlook-ios": "unsupported",
|
|
2012
|
+
"outlook-android": "unsupported",
|
|
2013
|
+
"outlook-macos": "supported",
|
|
2014
|
+
"apple-mail-macos": "supported",
|
|
2015
|
+
"apple-mail-ios": "supported",
|
|
2016
|
+
"yahoo-mail": "supported",
|
|
2017
|
+
"yahoo-mail-android": "unsupported",
|
|
2018
|
+
"yahoo-mail-ios": "unsupported",
|
|
2019
|
+
"samsung-mail": "supported",
|
|
2020
|
+
"thunderbird": "supported",
|
|
2021
|
+
"hey-mail": "supported",
|
|
2022
|
+
"protonmail": "unsupported",
|
|
2023
|
+
"aol": "unsupported",
|
|
1301
2024
|
"fastmail": "supported",
|
|
1302
2025
|
"superhuman": "partial"
|
|
1303
2026
|
},
|
|
1304
2027
|
"@media": {
|
|
2028
|
+
"gmail-web": "partial",
|
|
2029
|
+
"gmail-android": "partial",
|
|
2030
|
+
"gmail-ios": "partial",
|
|
2031
|
+
"outlook-web": "partial",
|
|
2032
|
+
"outlook-windows": "unsupported",
|
|
2033
|
+
"outlook-windows-legacy": "unsupported",
|
|
2034
|
+
"outlook-ios": "partial",
|
|
2035
|
+
"outlook-android": "partial",
|
|
2036
|
+
"outlook-macos": "supported",
|
|
2037
|
+
"apple-mail-macos": "supported",
|
|
2038
|
+
"apple-mail-ios": "supported",
|
|
2039
|
+
"yahoo-mail": "partial",
|
|
2040
|
+
"yahoo-mail-android": "partial",
|
|
2041
|
+
"yahoo-mail-ios": "partial",
|
|
2042
|
+
"samsung-mail": "partial",
|
|
2043
|
+
"thunderbird": "unsupported",
|
|
2044
|
+
"hey-mail": "supported",
|
|
2045
|
+
"protonmail": "partial",
|
|
2046
|
+
"aol": "partial",
|
|
2047
|
+
"fastmail": "supported",
|
|
2048
|
+
"superhuman": "supported"
|
|
2049
|
+
},
|
|
2050
|
+
"@media device-pixel-ratio": {
|
|
1305
2051
|
"gmail-web": "unsupported",
|
|
1306
2052
|
"gmail-android": "unsupported",
|
|
1307
2053
|
"gmail-ios": "unsupported",
|
|
@@ -1322,7 +2068,99 @@ var CSS_SUPPORT = {
|
|
|
1322
2068
|
"protonmail": "unsupported",
|
|
1323
2069
|
"aol": "unsupported",
|
|
1324
2070
|
"fastmail": "supported",
|
|
1325
|
-
"superhuman": "
|
|
2071
|
+
"superhuman": "unknown"
|
|
2072
|
+
},
|
|
2073
|
+
"@media hover": {
|
|
2074
|
+
"gmail-web": "unsupported",
|
|
2075
|
+
"gmail-android": "unsupported",
|
|
2076
|
+
"gmail-ios": "unsupported",
|
|
2077
|
+
"outlook-web": "supported",
|
|
2078
|
+
"outlook-windows": "unsupported",
|
|
2079
|
+
"outlook-windows-legacy": "unsupported",
|
|
2080
|
+
"outlook-ios": "supported",
|
|
2081
|
+
"outlook-android": "supported",
|
|
2082
|
+
"outlook-macos": "supported",
|
|
2083
|
+
"apple-mail-macos": "supported",
|
|
2084
|
+
"apple-mail-ios": "supported",
|
|
2085
|
+
"yahoo-mail": "unsupported",
|
|
2086
|
+
"yahoo-mail-android": "unsupported",
|
|
2087
|
+
"yahoo-mail-ios": "unsupported",
|
|
2088
|
+
"samsung-mail": "supported",
|
|
2089
|
+
"thunderbird": "unknown",
|
|
2090
|
+
"hey-mail": "unknown",
|
|
2091
|
+
"protonmail": "supported",
|
|
2092
|
+
"aol": "unsupported",
|
|
2093
|
+
"fastmail": "unknown",
|
|
2094
|
+
"superhuman": "unknown"
|
|
2095
|
+
},
|
|
2096
|
+
"@media orientation": {
|
|
2097
|
+
"gmail-web": "supported",
|
|
2098
|
+
"gmail-android": "supported",
|
|
2099
|
+
"gmail-ios": "unsupported",
|
|
2100
|
+
"outlook-web": "supported",
|
|
2101
|
+
"outlook-windows": "unsupported",
|
|
2102
|
+
"outlook-windows-legacy": "unsupported",
|
|
2103
|
+
"outlook-ios": "supported",
|
|
2104
|
+
"outlook-android": "supported",
|
|
2105
|
+
"outlook-macos": "supported",
|
|
2106
|
+
"apple-mail-macos": "supported",
|
|
2107
|
+
"apple-mail-ios": "partial",
|
|
2108
|
+
"yahoo-mail": "unsupported",
|
|
2109
|
+
"yahoo-mail-android": "unsupported",
|
|
2110
|
+
"yahoo-mail-ios": "unsupported",
|
|
2111
|
+
"samsung-mail": "supported",
|
|
2112
|
+
"thunderbird": "unsupported",
|
|
2113
|
+
"hey-mail": "supported",
|
|
2114
|
+
"protonmail": "unsupported",
|
|
2115
|
+
"aol": "unsupported",
|
|
2116
|
+
"fastmail": "supported",
|
|
2117
|
+
"superhuman": "unknown"
|
|
2118
|
+
},
|
|
2119
|
+
"@media prefers-color-scheme": {
|
|
2120
|
+
"gmail-web": "unsupported",
|
|
2121
|
+
"gmail-android": "unsupported",
|
|
2122
|
+
"gmail-ios": "unsupported",
|
|
2123
|
+
"outlook-web": "supported",
|
|
2124
|
+
"outlook-windows": "unsupported",
|
|
2125
|
+
"outlook-windows-legacy": "unsupported",
|
|
2126
|
+
"outlook-ios": "supported",
|
|
2127
|
+
"outlook-android": "supported",
|
|
2128
|
+
"outlook-macos": "supported",
|
|
2129
|
+
"apple-mail-macos": "supported",
|
|
2130
|
+
"apple-mail-ios": "supported",
|
|
2131
|
+
"yahoo-mail": "unsupported",
|
|
2132
|
+
"yahoo-mail-android": "unsupported",
|
|
2133
|
+
"yahoo-mail-ios": "unsupported",
|
|
2134
|
+
"samsung-mail": "supported",
|
|
2135
|
+
"thunderbird": "unsupported",
|
|
2136
|
+
"hey-mail": "unsupported",
|
|
2137
|
+
"protonmail": "unsupported",
|
|
2138
|
+
"aol": "unsupported",
|
|
2139
|
+
"fastmail": "supported",
|
|
2140
|
+
"superhuman": "unknown"
|
|
2141
|
+
},
|
|
2142
|
+
"@media prefers-reduced-motion": {
|
|
2143
|
+
"gmail-web": "unsupported",
|
|
2144
|
+
"gmail-android": "unsupported",
|
|
2145
|
+
"gmail-ios": "unsupported",
|
|
2146
|
+
"outlook-web": "supported",
|
|
2147
|
+
"outlook-windows": "unsupported",
|
|
2148
|
+
"outlook-windows-legacy": "unsupported",
|
|
2149
|
+
"outlook-ios": "supported",
|
|
2150
|
+
"outlook-android": "supported",
|
|
2151
|
+
"outlook-macos": "supported",
|
|
2152
|
+
"apple-mail-macos": "supported",
|
|
2153
|
+
"apple-mail-ios": "supported",
|
|
2154
|
+
"yahoo-mail": "unsupported",
|
|
2155
|
+
"yahoo-mail-android": "unsupported",
|
|
2156
|
+
"yahoo-mail-ios": "unsupported",
|
|
2157
|
+
"samsung-mail": "supported",
|
|
2158
|
+
"thunderbird": "unsupported",
|
|
2159
|
+
"hey-mail": "supported",
|
|
2160
|
+
"protonmail": "partial",
|
|
2161
|
+
"aol": "unsupported",
|
|
2162
|
+
"fastmail": "unsupported",
|
|
2163
|
+
"superhuman": "unknown"
|
|
1326
2164
|
},
|
|
1327
2165
|
"@supports": {
|
|
1328
2166
|
"gmail-web": "unsupported",
|
|
@@ -1416,6 +2254,52 @@ var CSS_SUPPORT = {
|
|
|
1416
2254
|
"fastmail": "supported",
|
|
1417
2255
|
"superhuman": "supported"
|
|
1418
2256
|
},
|
|
2257
|
+
"amp4email": {
|
|
2258
|
+
"gmail-web": "supported",
|
|
2259
|
+
"gmail-android": "supported",
|
|
2260
|
+
"gmail-ios": "supported",
|
|
2261
|
+
"outlook-web": "unsupported",
|
|
2262
|
+
"outlook-windows": "unsupported",
|
|
2263
|
+
"outlook-windows-legacy": "unsupported",
|
|
2264
|
+
"outlook-ios": "unsupported",
|
|
2265
|
+
"outlook-android": "unsupported",
|
|
2266
|
+
"outlook-macos": "unsupported",
|
|
2267
|
+
"apple-mail-macos": "unsupported",
|
|
2268
|
+
"apple-mail-ios": "unsupported",
|
|
2269
|
+
"yahoo-mail": "supported",
|
|
2270
|
+
"yahoo-mail-android": "supported",
|
|
2271
|
+
"yahoo-mail-ios": "supported",
|
|
2272
|
+
"samsung-mail": "unsupported",
|
|
2273
|
+
"thunderbird": "unsupported",
|
|
2274
|
+
"hey-mail": "unsupported",
|
|
2275
|
+
"protonmail": "unsupported",
|
|
2276
|
+
"aol": "unsupported",
|
|
2277
|
+
"fastmail": "unsupported",
|
|
2278
|
+
"superhuman": "unknown"
|
|
2279
|
+
},
|
|
2280
|
+
"anchor-links": {
|
|
2281
|
+
"gmail-web": "supported",
|
|
2282
|
+
"gmail-android": "supported",
|
|
2283
|
+
"gmail-ios": "unsupported",
|
|
2284
|
+
"outlook-web": "supported",
|
|
2285
|
+
"outlook-windows": "supported",
|
|
2286
|
+
"outlook-windows-legacy": "supported",
|
|
2287
|
+
"outlook-ios": "supported",
|
|
2288
|
+
"outlook-android": "supported",
|
|
2289
|
+
"outlook-macos": "supported",
|
|
2290
|
+
"apple-mail-macos": "supported",
|
|
2291
|
+
"apple-mail-ios": "supported",
|
|
2292
|
+
"yahoo-mail": "partial",
|
|
2293
|
+
"yahoo-mail-android": "unsupported",
|
|
2294
|
+
"yahoo-mail-ios": "unsupported",
|
|
2295
|
+
"samsung-mail": "unsupported",
|
|
2296
|
+
"thunderbird": "supported",
|
|
2297
|
+
"hey-mail": "unsupported",
|
|
2298
|
+
"protonmail": "unsupported",
|
|
2299
|
+
"aol": "unsupported",
|
|
2300
|
+
"fastmail": "supported",
|
|
2301
|
+
"superhuman": "unknown"
|
|
2302
|
+
},
|
|
1419
2303
|
"animation": {
|
|
1420
2304
|
"gmail-web": "unsupported",
|
|
1421
2305
|
"gmail-android": "unsupported",
|
|
@@ -2170,7 +3054,7 @@ var CSS_SUPPORT = {
|
|
|
2170
3054
|
"samsung-mail": "supported",
|
|
2171
3055
|
"thunderbird": "supported",
|
|
2172
3056
|
"hey-mail": "unsupported",
|
|
2173
|
-
"protonmail": "
|
|
3057
|
+
"protonmail": "unsupported",
|
|
2174
3058
|
"aol": "unsupported",
|
|
2175
3059
|
"fastmail": "unsupported",
|
|
2176
3060
|
"superhuman": "unknown"
|
|
@@ -2263,7 +3147,7 @@ var CSS_SUPPORT = {
|
|
|
2263
3147
|
"thunderbird": "supported",
|
|
2264
3148
|
"hey-mail": "unknown",
|
|
2265
3149
|
"protonmail": "supported",
|
|
2266
|
-
"aol": "
|
|
3150
|
+
"aol": "partial",
|
|
2267
3151
|
"fastmail": "unknown",
|
|
2268
3152
|
"superhuman": "unknown"
|
|
2269
3153
|
},
|
|
@@ -2359,6 +3243,29 @@ var CSS_SUPPORT = {
|
|
|
2359
3243
|
"fastmail": "partial",
|
|
2360
3244
|
"superhuman": "supported"
|
|
2361
3245
|
},
|
|
3246
|
+
"doctype": {
|
|
3247
|
+
"gmail-web": "supported",
|
|
3248
|
+
"gmail-android": "supported",
|
|
3249
|
+
"gmail-ios": "supported",
|
|
3250
|
+
"outlook-web": "supported",
|
|
3251
|
+
"outlook-windows": "unsupported",
|
|
3252
|
+
"outlook-windows-legacy": "supported",
|
|
3253
|
+
"outlook-ios": "supported",
|
|
3254
|
+
"outlook-android": "supported",
|
|
3255
|
+
"outlook-macos": "supported",
|
|
3256
|
+
"apple-mail-macos": "supported",
|
|
3257
|
+
"apple-mail-ios": "supported",
|
|
3258
|
+
"yahoo-mail": "supported",
|
|
3259
|
+
"yahoo-mail-android": "unsupported",
|
|
3260
|
+
"yahoo-mail-ios": "supported",
|
|
3261
|
+
"samsung-mail": "unsupported",
|
|
3262
|
+
"thunderbird": "unsupported",
|
|
3263
|
+
"hey-mail": "unsupported",
|
|
3264
|
+
"protonmail": "unsupported",
|
|
3265
|
+
"aol": "unsupported",
|
|
3266
|
+
"fastmail": "supported",
|
|
3267
|
+
"superhuman": "unknown"
|
|
3268
|
+
},
|
|
2362
3269
|
"empty-cells": {
|
|
2363
3270
|
"gmail-web": "supported",
|
|
2364
3271
|
"gmail-android": "supported",
|
|
@@ -2378,7 +3285,7 @@ var CSS_SUPPORT = {
|
|
|
2378
3285
|
"thunderbird": "unknown",
|
|
2379
3286
|
"hey-mail": "unknown",
|
|
2380
3287
|
"protonmail": "supported",
|
|
2381
|
-
"aol": "
|
|
3288
|
+
"aol": "unsupported",
|
|
2382
3289
|
"fastmail": "unknown",
|
|
2383
3290
|
"superhuman": "supported"
|
|
2384
3291
|
},
|
|
@@ -2727,6 +3634,52 @@ var CSS_SUPPORT = {
|
|
|
2727
3634
|
"fastmail": "supported",
|
|
2728
3635
|
"superhuman": "supported"
|
|
2729
3636
|
},
|
|
3637
|
+
"html-comments": {
|
|
3638
|
+
"gmail-web": "supported",
|
|
3639
|
+
"gmail-android": "supported",
|
|
3640
|
+
"gmail-ios": "supported",
|
|
3641
|
+
"outlook-web": "supported",
|
|
3642
|
+
"outlook-windows": "supported",
|
|
3643
|
+
"outlook-windows-legacy": "supported",
|
|
3644
|
+
"outlook-ios": "supported",
|
|
3645
|
+
"outlook-android": "supported",
|
|
3646
|
+
"outlook-macos": "supported",
|
|
3647
|
+
"apple-mail-macos": "supported",
|
|
3648
|
+
"apple-mail-ios": "supported",
|
|
3649
|
+
"yahoo-mail": "supported",
|
|
3650
|
+
"yahoo-mail-android": "supported",
|
|
3651
|
+
"yahoo-mail-ios": "supported",
|
|
3652
|
+
"samsung-mail": "supported",
|
|
3653
|
+
"thunderbird": "supported",
|
|
3654
|
+
"hey-mail": "unknown",
|
|
3655
|
+
"protonmail": "supported",
|
|
3656
|
+
"aol": "supported",
|
|
3657
|
+
"fastmail": "unknown",
|
|
3658
|
+
"superhuman": "unknown"
|
|
3659
|
+
},
|
|
3660
|
+
"html5-semantics": {
|
|
3661
|
+
"gmail-web": "partial",
|
|
3662
|
+
"gmail-android": "partial",
|
|
3663
|
+
"gmail-ios": "partial",
|
|
3664
|
+
"outlook-web": "partial",
|
|
3665
|
+
"outlook-windows": "unsupported",
|
|
3666
|
+
"outlook-windows-legacy": "unsupported",
|
|
3667
|
+
"outlook-ios": "partial",
|
|
3668
|
+
"outlook-android": "partial",
|
|
3669
|
+
"outlook-macos": "supported",
|
|
3670
|
+
"apple-mail-macos": "supported",
|
|
3671
|
+
"apple-mail-ios": "supported",
|
|
3672
|
+
"yahoo-mail": "unsupported",
|
|
3673
|
+
"yahoo-mail-android": "unsupported",
|
|
3674
|
+
"yahoo-mail-ios": "unsupported",
|
|
3675
|
+
"samsung-mail": "supported",
|
|
3676
|
+
"thunderbird": "supported",
|
|
3677
|
+
"hey-mail": "partial",
|
|
3678
|
+
"protonmail": "supported",
|
|
3679
|
+
"aol": "unsupported",
|
|
3680
|
+
"fastmail": "supported",
|
|
3681
|
+
"superhuman": "unknown"
|
|
3682
|
+
},
|
|
2730
3683
|
"hyphenate-character": {
|
|
2731
3684
|
"gmail-web": "unsupported",
|
|
2732
3685
|
"gmail-android": "unsupported",
|
|
@@ -2796,6 +3749,29 @@ var CSS_SUPPORT = {
|
|
|
2796
3749
|
"fastmail": "unknown",
|
|
2797
3750
|
"superhuman": "unknown"
|
|
2798
3751
|
},
|
|
3752
|
+
"image-maps": {
|
|
3753
|
+
"gmail-web": "supported",
|
|
3754
|
+
"gmail-android": "supported",
|
|
3755
|
+
"gmail-ios": "supported",
|
|
3756
|
+
"outlook-web": "supported",
|
|
3757
|
+
"outlook-windows": "supported",
|
|
3758
|
+
"outlook-windows-legacy": "unsupported",
|
|
3759
|
+
"outlook-ios": "supported",
|
|
3760
|
+
"outlook-android": "supported",
|
|
3761
|
+
"outlook-macos": "supported",
|
|
3762
|
+
"apple-mail-macos": "supported",
|
|
3763
|
+
"apple-mail-ios": "supported",
|
|
3764
|
+
"yahoo-mail": "supported",
|
|
3765
|
+
"yahoo-mail-android": "unsupported",
|
|
3766
|
+
"yahoo-mail-ios": "supported",
|
|
3767
|
+
"samsung-mail": "supported",
|
|
3768
|
+
"thunderbird": "supported",
|
|
3769
|
+
"hey-mail": "unsupported",
|
|
3770
|
+
"protonmail": "unsupported",
|
|
3771
|
+
"aol": "unsupported",
|
|
3772
|
+
"fastmail": "supported",
|
|
3773
|
+
"superhuman": "unknown"
|
|
3774
|
+
},
|
|
2799
3775
|
"inert": {
|
|
2800
3776
|
"gmail-web": "unsupported",
|
|
2801
3777
|
"gmail-android": "unsupported",
|
|
@@ -2814,7 +3790,7 @@ var CSS_SUPPORT = {
|
|
|
2814
3790
|
"samsung-mail": "supported",
|
|
2815
3791
|
"thunderbird": "unknown",
|
|
2816
3792
|
"hey-mail": "unknown",
|
|
2817
|
-
"protonmail": "
|
|
3793
|
+
"protonmail": "unsupported",
|
|
2818
3794
|
"aol": "unsupported",
|
|
2819
3795
|
"fastmail": "unknown",
|
|
2820
3796
|
"superhuman": "unknown"
|
|
@@ -2860,7 +3836,7 @@ var CSS_SUPPORT = {
|
|
|
2860
3836
|
"samsung-mail": "unsupported",
|
|
2861
3837
|
"thunderbird": "supported",
|
|
2862
3838
|
"hey-mail": "unknown",
|
|
2863
|
-
"protonmail": "
|
|
3839
|
+
"protonmail": "unsupported",
|
|
2864
3840
|
"aol": "unsupported",
|
|
2865
3841
|
"fastmail": "unknown",
|
|
2866
3842
|
"superhuman": "unknown"
|
|
@@ -3021,7 +3997,7 @@ var CSS_SUPPORT = {
|
|
|
3021
3997
|
"samsung-mail": "supported",
|
|
3022
3998
|
"thunderbird": "supported",
|
|
3023
3999
|
"hey-mail": "supported",
|
|
3024
|
-
"protonmail": "
|
|
4000
|
+
"protonmail": "unsupported",
|
|
3025
4001
|
"aol": "partial",
|
|
3026
4002
|
"fastmail": "supported",
|
|
3027
4003
|
"superhuman": "supported"
|
|
@@ -3095,6 +4071,29 @@ var CSS_SUPPORT = {
|
|
|
3095
4071
|
"fastmail": "supported",
|
|
3096
4072
|
"superhuman": "supported"
|
|
3097
4073
|
},
|
|
4074
|
+
"mailto-links": {
|
|
4075
|
+
"gmail-web": "supported",
|
|
4076
|
+
"gmail-android": "supported",
|
|
4077
|
+
"gmail-ios": "supported",
|
|
4078
|
+
"outlook-web": "supported",
|
|
4079
|
+
"outlook-windows": "supported",
|
|
4080
|
+
"outlook-windows-legacy": "supported",
|
|
4081
|
+
"outlook-ios": "supported",
|
|
4082
|
+
"outlook-android": "supported",
|
|
4083
|
+
"outlook-macos": "supported",
|
|
4084
|
+
"apple-mail-macos": "supported",
|
|
4085
|
+
"apple-mail-ios": "supported",
|
|
4086
|
+
"yahoo-mail": "supported",
|
|
4087
|
+
"yahoo-mail-android": "partial",
|
|
4088
|
+
"yahoo-mail-ios": "supported",
|
|
4089
|
+
"samsung-mail": "supported",
|
|
4090
|
+
"thunderbird": "supported",
|
|
4091
|
+
"hey-mail": "supported",
|
|
4092
|
+
"protonmail": "partial",
|
|
4093
|
+
"aol": "partial",
|
|
4094
|
+
"fastmail": "supported",
|
|
4095
|
+
"superhuman": "unknown"
|
|
4096
|
+
},
|
|
3098
4097
|
"margin": {
|
|
3099
4098
|
"gmail-web": "partial",
|
|
3100
4099
|
"gmail-android": "partial",
|
|
@@ -3325,6 +4324,29 @@ var CSS_SUPPORT = {
|
|
|
3325
4324
|
"fastmail": "supported",
|
|
3326
4325
|
"superhuman": "supported"
|
|
3327
4326
|
},
|
|
4327
|
+
"meta-color-scheme": {
|
|
4328
|
+
"gmail-web": "unsupported",
|
|
4329
|
+
"gmail-android": "unsupported",
|
|
4330
|
+
"gmail-ios": "unsupported",
|
|
4331
|
+
"outlook-web": "unsupported",
|
|
4332
|
+
"outlook-windows": "unsupported",
|
|
4333
|
+
"outlook-windows-legacy": "unsupported",
|
|
4334
|
+
"outlook-ios": "unsupported",
|
|
4335
|
+
"outlook-android": "unsupported",
|
|
4336
|
+
"outlook-macos": "unsupported",
|
|
4337
|
+
"apple-mail-macos": "supported",
|
|
4338
|
+
"apple-mail-ios": "unsupported",
|
|
4339
|
+
"yahoo-mail": "unsupported",
|
|
4340
|
+
"yahoo-mail-android": "unsupported",
|
|
4341
|
+
"yahoo-mail-ios": "unsupported",
|
|
4342
|
+
"samsung-mail": "unsupported",
|
|
4343
|
+
"thunderbird": "supported",
|
|
4344
|
+
"hey-mail": "unsupported",
|
|
4345
|
+
"protonmail": "unsupported",
|
|
4346
|
+
"aol": "unsupported",
|
|
4347
|
+
"fastmail": "unsupported",
|
|
4348
|
+
"superhuman": "unknown"
|
|
4349
|
+
},
|
|
3328
4350
|
"min": {
|
|
3329
4351
|
"gmail-web": "supported",
|
|
3330
4352
|
"gmail-android": "partial",
|
|
@@ -3389,7 +4411,7 @@ var CSS_SUPPORT = {
|
|
|
3389
4411
|
"samsung-mail": "supported",
|
|
3390
4412
|
"thunderbird": "supported",
|
|
3391
4413
|
"hey-mail": "supported",
|
|
3392
|
-
"protonmail": "
|
|
4414
|
+
"protonmail": "unsupported",
|
|
3393
4415
|
"aol": "supported",
|
|
3394
4416
|
"fastmail": "supported",
|
|
3395
4417
|
"superhuman": "supported"
|
|
@@ -3481,7 +4503,7 @@ var CSS_SUPPORT = {
|
|
|
3481
4503
|
"samsung-mail": "unsupported",
|
|
3482
4504
|
"thunderbird": "unsupported",
|
|
3483
4505
|
"hey-mail": "supported",
|
|
3484
|
-
"protonmail": "
|
|
4506
|
+
"protonmail": "unsupported",
|
|
3485
4507
|
"aol": "unsupported",
|
|
3486
4508
|
"fastmail": "supported",
|
|
3487
4509
|
"superhuman": "unknown"
|
|
@@ -3504,7 +4526,7 @@ var CSS_SUPPORT = {
|
|
|
3504
4526
|
"samsung-mail": "partial",
|
|
3505
4527
|
"thunderbird": "supported",
|
|
3506
4528
|
"hey-mail": "unknown",
|
|
3507
|
-
"protonmail": "
|
|
4529
|
+
"protonmail": "partial",
|
|
3508
4530
|
"aol": "unsupported",
|
|
3509
4531
|
"fastmail": "unknown",
|
|
3510
4532
|
"superhuman": "unknown"
|
|
@@ -3688,7 +4710,7 @@ var CSS_SUPPORT = {
|
|
|
3688
4710
|
"samsung-mail": "supported",
|
|
3689
4711
|
"thunderbird": "unknown",
|
|
3690
4712
|
"hey-mail": "unknown",
|
|
3691
|
-
"protonmail": "
|
|
4713
|
+
"protonmail": "partial",
|
|
3692
4714
|
"aol": "unsupported",
|
|
3693
4715
|
"fastmail": "unknown",
|
|
3694
4716
|
"superhuman": "supported"
|
|
@@ -3827,7 +4849,7 @@ var CSS_SUPPORT = {
|
|
|
3827
4849
|
"thunderbird": "supported",
|
|
3828
4850
|
"hey-mail": "supported",
|
|
3829
4851
|
"protonmail": "supported",
|
|
3830
|
-
"aol": "
|
|
4852
|
+
"aol": "unsupported",
|
|
3831
4853
|
"fastmail": "supported",
|
|
3832
4854
|
"superhuman": "unknown"
|
|
3833
4855
|
},
|
|
@@ -3918,7 +4940,7 @@ var CSS_SUPPORT = {
|
|
|
3918
4940
|
"samsung-mail": "supported",
|
|
3919
4941
|
"thunderbird": "unknown",
|
|
3920
4942
|
"hey-mail": "unknown",
|
|
3921
|
-
"protonmail": "
|
|
4943
|
+
"protonmail": "unsupported",
|
|
3922
4944
|
"aol": "unsupported",
|
|
3923
4945
|
"fastmail": "unknown",
|
|
3924
4946
|
"superhuman": "unsupported"
|
|
@@ -4079,8 +5101,8 @@ var CSS_SUPPORT = {
|
|
|
4079
5101
|
"samsung-mail": "partial",
|
|
4080
5102
|
"thunderbird": "partial",
|
|
4081
5103
|
"hey-mail": "supported",
|
|
4082
|
-
"protonmail": "
|
|
4083
|
-
"aol": "
|
|
5104
|
+
"protonmail": "partial",
|
|
5105
|
+
"aol": "partial",
|
|
4084
5106
|
"fastmail": "supported",
|
|
4085
5107
|
"superhuman": "unknown"
|
|
4086
5108
|
},
|
|
@@ -4194,7 +5216,7 @@ var CSS_SUPPORT = {
|
|
|
4194
5216
|
"samsung-mail": "supported",
|
|
4195
5217
|
"thunderbird": "supported",
|
|
4196
5218
|
"hey-mail": "supported",
|
|
4197
|
-
"protonmail": "
|
|
5219
|
+
"protonmail": "unsupported",
|
|
4198
5220
|
"aol": "supported",
|
|
4199
5221
|
"fastmail": "supported",
|
|
4200
5222
|
"superhuman": "supported"
|
|
@@ -4241,7 +5263,7 @@ var CSS_SUPPORT = {
|
|
|
4241
5263
|
"thunderbird": "supported",
|
|
4242
5264
|
"hey-mail": "unknown",
|
|
4243
5265
|
"protonmail": "supported",
|
|
4244
|
-
"aol": "
|
|
5266
|
+
"aol": "unsupported",
|
|
4245
5267
|
"fastmail": "unknown",
|
|
4246
5268
|
"superhuman": "unknown"
|
|
4247
5269
|
},
|
|
@@ -4287,7 +5309,7 @@ var CSS_SUPPORT = {
|
|
|
4287
5309
|
"thunderbird": "supported",
|
|
4288
5310
|
"hey-mail": "unknown",
|
|
4289
5311
|
"protonmail": "supported",
|
|
4290
|
-
"aol": "
|
|
5312
|
+
"aol": "unsupported",
|
|
4291
5313
|
"fastmail": "unknown",
|
|
4292
5314
|
"superhuman": "unknown"
|
|
4293
5315
|
},
|
|
@@ -4401,7 +5423,7 @@ var CSS_SUPPORT = {
|
|
|
4401
5423
|
"samsung-mail": "unsupported",
|
|
4402
5424
|
"thunderbird": "unknown",
|
|
4403
5425
|
"hey-mail": "unknown",
|
|
4404
|
-
"protonmail": "
|
|
5426
|
+
"protonmail": "unsupported",
|
|
4405
5427
|
"aol": "unsupported",
|
|
4406
5428
|
"fastmail": "unknown",
|
|
4407
5429
|
"superhuman": "unknown"
|
|
@@ -4631,7 +5653,7 @@ var CSS_SUPPORT = {
|
|
|
4631
5653
|
"samsung-mail": "partial",
|
|
4632
5654
|
"thunderbird": "supported",
|
|
4633
5655
|
"hey-mail": "partial",
|
|
4634
|
-
"protonmail": "
|
|
5656
|
+
"protonmail": "unsupported",
|
|
4635
5657
|
"aol": "partial",
|
|
4636
5658
|
"fastmail": "supported",
|
|
4637
5659
|
"superhuman": "partial"
|
|
@@ -5183,7 +6205,7 @@ var CSS_SUPPORT = {
|
|
|
5183
6205
|
"samsung-mail": "partial",
|
|
5184
6206
|
"thunderbird": "supported",
|
|
5185
6207
|
"hey-mail": "partial",
|
|
5186
|
-
"protonmail": "
|
|
6208
|
+
"protonmail": "partial",
|
|
5187
6209
|
"aol": "unsupported",
|
|
5188
6210
|
"fastmail": "supported",
|
|
5189
6211
|
"superhuman": "supported"
|
|
@@ -5207,7 +6229,7 @@ var CSS_SUPPORT = {
|
|
|
5207
6229
|
"thunderbird": "supported",
|
|
5208
6230
|
"hey-mail": "unknown",
|
|
5209
6231
|
"protonmail": "supported",
|
|
5210
|
-
"aol": "
|
|
6232
|
+
"aol": "unsupported",
|
|
5211
6233
|
"fastmail": "unknown",
|
|
5212
6234
|
"superhuman": "supported"
|
|
5213
6235
|
},
|
|
@@ -5367,7 +6389,7 @@ var CSS_SUPPORT = {
|
|
|
5367
6389
|
"samsung-mail": "supported",
|
|
5368
6390
|
"thunderbird": "supported",
|
|
5369
6391
|
"hey-mail": "supported",
|
|
5370
|
-
"protonmail": "
|
|
6392
|
+
"protonmail": "unsupported",
|
|
5371
6393
|
"aol": "supported",
|
|
5372
6394
|
"fastmail": "supported",
|
|
5373
6395
|
"superhuman": "unknown"
|
|
@@ -5621,7 +6643,7 @@ var CSS_SUPPORT = {
|
|
|
5621
6643
|
"thunderbird": "supported",
|
|
5622
6644
|
"hey-mail": "supported",
|
|
5623
6645
|
"protonmail": "supported",
|
|
5624
|
-
"aol": "
|
|
6646
|
+
"aol": "unsupported",
|
|
5625
6647
|
"fastmail": "supported",
|
|
5626
6648
|
"superhuman": "unknown"
|
|
5627
6649
|
},
|
|
@@ -5735,7 +6757,7 @@ var CSS_SUPPORT = {
|
|
|
5735
6757
|
"samsung-mail": "supported",
|
|
5736
6758
|
"thunderbird": "unsupported",
|
|
5737
6759
|
"hey-mail": "supported",
|
|
5738
|
-
"protonmail": "
|
|
6760
|
+
"protonmail": "unsupported",
|
|
5739
6761
|
"aol": "unsupported",
|
|
5740
6762
|
"fastmail": "supported",
|
|
5741
6763
|
"superhuman": "unknown"
|
|
@@ -5759,7 +6781,7 @@ var CSS_SUPPORT = {
|
|
|
5759
6781
|
"thunderbird": "supported",
|
|
5760
6782
|
"hey-mail": "supported",
|
|
5761
6783
|
"protonmail": "supported",
|
|
5762
|
-
"aol": "
|
|
6784
|
+
"aol": "unsupported",
|
|
5763
6785
|
"fastmail": "supported",
|
|
5764
6786
|
"superhuman": "unknown"
|
|
5765
6787
|
},
|
|
@@ -6035,7 +7057,7 @@ var CSS_SUPPORT = {
|
|
|
6035
7057
|
"thunderbird": "supported",
|
|
6036
7058
|
"hey-mail": "unsupported",
|
|
6037
7059
|
"protonmail": "unsupported",
|
|
6038
|
-
"aol": "
|
|
7060
|
+
"aol": "unsupported",
|
|
6039
7061
|
"fastmail": "unsupported",
|
|
6040
7062
|
"superhuman": "unknown"
|
|
6041
7063
|
},
|
|
@@ -6104,7 +7126,7 @@ var CSS_SUPPORT = {
|
|
|
6104
7126
|
"thunderbird": "supported",
|
|
6105
7127
|
"hey-mail": "supported",
|
|
6106
7128
|
"protonmail": "unsupported",
|
|
6107
|
-
"aol": "
|
|
7129
|
+
"aol": "unsupported",
|
|
6108
7130
|
"fastmail": "supported",
|
|
6109
7131
|
"superhuman": "unknown"
|
|
6110
7132
|
},
|
|
@@ -6178,6 +7200,7 @@ var CSS_SUPPORT = {
|
|
|
6178
7200
|
"superhuman": "supported"
|
|
6179
7201
|
}
|
|
6180
7202
|
};
|
|
7203
|
+
var CSS_SUPPORT = CSS_SUPPORT_TABLE;
|
|
6181
7204
|
var CSS_SUPPORT_NOTES = {
|
|
6182
7205
|
"<abbr>": {
|
|
6183
7206
|
"outlook-windows": ["Buggy. Element's content are still kept."],
|
|
@@ -6219,8 +7242,14 @@ var CSS_SUPPORT_NOTES = {
|
|
|
6219
7242
|
"outlook-ios": ["Partial. Replaced by a `<div>` with supported attributes."],
|
|
6220
7243
|
"outlook-android": ["Partial. Replaced by a `<div>` with supported attributes."],
|
|
6221
7244
|
"yahoo-mail": ["Partial. Replaced by a `<div>` with supported attributes."],
|
|
6222
|
-
"hey-mail": ["Partial. Replaced by a `<div>` with supported attributes."]
|
|
6223
|
-
|
|
7245
|
+
"hey-mail": ["Partial. Replaced by a `<div>` with supported attributes."]
|
|
7246
|
+
},
|
|
7247
|
+
'<button type="reset">': {
|
|
7248
|
+
"gmail-ios": ["Partial. Not supported with non Google accounts."],
|
|
7249
|
+
"thunderbird": ["Buggy. Interacting with the element submits the form it belongs in."]
|
|
7250
|
+
},
|
|
7251
|
+
'<button type="submit">': {
|
|
7252
|
+
"gmail-ios": ["Partial. Not supported with non Google accounts."]
|
|
6224
7253
|
},
|
|
6225
7254
|
"<dfn>": {
|
|
6226
7255
|
"outlook-windows": ["Partial. The `title` attribute is removed."],
|
|
@@ -6228,7 +7257,31 @@ var CSS_SUPPORT_NOTES = {
|
|
|
6228
7257
|
},
|
|
6229
7258
|
"<form>": {
|
|
6230
7259
|
"gmail-ios": ["Does not submit in iOS with non Google accounts."],
|
|
6231
|
-
"outlook-web": ["Not supported. The `<form>` is there but values are not submitted."]
|
|
7260
|
+
"outlook-web": ["Not supported. The `<form>` is there but values are not submitted."],
|
|
7261
|
+
"protonmail": ["Not supported. The `<form>` and its entire content is removed."]
|
|
7262
|
+
},
|
|
7263
|
+
'<input type="checkbox">': {
|
|
7264
|
+
"thunderbird": ["Buggy. Interacting with the element submits the form it belongs in."]
|
|
7265
|
+
},
|
|
7266
|
+
'<input type="hidden">': {
|
|
7267
|
+
"thunderbird": ["Buggy. Interacting with the element submits the form it belongs in."]
|
|
7268
|
+
},
|
|
7269
|
+
'<input type="radio">': {
|
|
7270
|
+
"thunderbird": ["Buggy. Interacting with the element submits the form it belongs in."]
|
|
7271
|
+
},
|
|
7272
|
+
'<input type="reset">': {
|
|
7273
|
+
"gmail-ios": ["Partial. Not supported with non Google accounts."],
|
|
7274
|
+
"thunderbird": ["Buggy. Interacting with the element submits the form it belongs in."]
|
|
7275
|
+
},
|
|
7276
|
+
'<input type="submit">': {
|
|
7277
|
+
"gmail-ios": ["Partial. Not supported with non Google accounts."]
|
|
7278
|
+
},
|
|
7279
|
+
'<input type="text">': {
|
|
7280
|
+
"outlook-android": ["Buggy. A number of Android clients will not show the keyboard when the input is clicked. Copy and pasting text works."],
|
|
7281
|
+
"apple-mail-ios": ["Buggy. Screen jumps when input is in focus."],
|
|
7282
|
+
"yahoo-mail-android": ["Buggy. A number of Android clients will not show the keyboard when the input is clicked. Copy and pasting text works."],
|
|
7283
|
+
"samsung-mail": ["Buggy. A number of Android clients will not show the keyboard when the input is clicked. Copy and pasting text works."],
|
|
7284
|
+
"thunderbird": ["Buggy. Interacting with the element submits the form it belongs in."]
|
|
6232
7285
|
},
|
|
6233
7286
|
"<marquee>": {
|
|
6234
7287
|
"outlook-web": ["The `<marquee>` element is supported but not the `behavior` or `direction` attributes."],
|
|
@@ -6278,7 +7331,8 @@ var CSS_SUPPORT_NOTES = {
|
|
|
6278
7331
|
"gmail-android": ["Partial. Not supported inside the `<body>`.", "Partial. Not supported with non Google accounts."],
|
|
6279
7332
|
"gmail-ios": ["Partial. Not supported inside the `<body>`.", "Partial. Not supported with non Google accounts."],
|
|
6280
7333
|
"outlook-windows": ["Buggy. `<style>` elements need to be declared before their rules are used."],
|
|
6281
|
-
"outlook-windows-legacy": ["Buggy. `<style>` elements need to be declared before their rules are used."]
|
|
7334
|
+
"outlook-windows-legacy": ["Buggy. `<style>` elements need to be declared before their rules are used."],
|
|
7335
|
+
"protonmail": ["Partial. Not supported inside the `<body>`."]
|
|
6282
7336
|
},
|
|
6283
7337
|
"<svg>": {
|
|
6284
7338
|
"apple-mail-macos": ["Buggy. Requires a background on the `<body>`. Can be any type of background, image or a color, can be set as attribute, inline style or in `<style>` block"]
|
|
@@ -6288,7 +7342,8 @@ var CSS_SUPPORT_NOTES = {
|
|
|
6288
7342
|
"apple-mail-ios": ["Buggy. Screen jumps when input is in focus."],
|
|
6289
7343
|
"yahoo-mail-android": ["Buggy. A number of android clients will not show the keyboard when the input is clicked. Copy and pasting text works."],
|
|
6290
7344
|
"samsung-mail": ["Buggy. A number of android clients will not show the keyboard when the input is clicked. Copy and pasting text works."],
|
|
6291
|
-
"thunderbird": ["Buggy. Interacting with the element submits the form it belongs in."]
|
|
7345
|
+
"thunderbird": ["Buggy. Interacting with the element submits the form it belongs in."],
|
|
7346
|
+
"protonmail": ["Buggy. A number of android clients will not show the keyboard when the input is clicked. Copy and pasting text works."]
|
|
6292
7347
|
},
|
|
6293
7348
|
"<ul>": {
|
|
6294
7349
|
"gmail-web": ["Partial. The `reversed` attribute on `<ol>` is not supported."],
|
|
@@ -6321,14 +7376,138 @@ var CSS_SUPPORT_NOTES = {
|
|
|
6321
7376
|
"aol": ["`<video>`, `<source>` and `<track>` tags are stripped. The fallback content is shown instead."],
|
|
6322
7377
|
"fastmail": ["Not supported. The `<video>` element and all its content is removed."]
|
|
6323
7378
|
},
|
|
6324
|
-
"<wbr>": {
|
|
6325
|
-
"gmail-android": ["Partial. Supported with non Google accounts only."]
|
|
7379
|
+
"<wbr>": {
|
|
7380
|
+
"gmail-android": ["Partial. Supported with non Google accounts only."]
|
|
7381
|
+
},
|
|
7382
|
+
"[align]": {
|
|
7383
|
+
"outlook-macos": ["Partial. `left` and `right` do not work on `<table>` elements. Use `float:left` or `float:right` styles instead."],
|
|
7384
|
+
"hey-mail": ["Partial. Not supported on `<img>` elements."],
|
|
7385
|
+
"protonmail": ["Partial. `<img>` elements are wrapped in a `<span>` so `left` and `right` values have no effect."]
|
|
7386
|
+
},
|
|
7387
|
+
"[aria-describedby]": {
|
|
7388
|
+
"gmail-web": ["Buggy. `id` prefix mismatched. The `id` value is prefixed but not the `aria-describedby` value."],
|
|
7389
|
+
"fastmail": ["Buggy. `id` prefix mismatched. The `id` value is prefixed but not the `aria-describedby` value."]
|
|
7390
|
+
},
|
|
7391
|
+
"[aria-labelledby]": {
|
|
7392
|
+
"gmail-web": ["Buggy. `id` prefix mismatched. The `id` value is prefixed but not the `aria-labelledby` value."],
|
|
7393
|
+
"gmail-android": ["Buggy. `id` prefix mismatched. The `id` value is prefixed but not the `aria-labelledby` value."],
|
|
7394
|
+
"gmail-ios": ["Buggy. `id` prefix mismatched. The `id` value is prefixed but not the `aria-labelledby` value."],
|
|
7395
|
+
"outlook-web": ["Buggy. `id` prefix mismatched. The `id` value is prefixed but not the `aria-labelledby` value."],
|
|
7396
|
+
"outlook-windows": ["Buggy. `id` is removed."],
|
|
7397
|
+
"fastmail": ["Buggy. `id` prefix mismatched. The `id` value is prefixed but not the `aria-labelledby` value."]
|
|
7398
|
+
},
|
|
7399
|
+
"[aria-live]": {
|
|
7400
|
+
"outlook-windows": ["Code isn't stripped but can't trigger a live change."]
|
|
7401
|
+
},
|
|
7402
|
+
"[background]": {
|
|
7403
|
+
"gmail-android": ["Partial. Not supported with non Google accounts."],
|
|
7404
|
+
"gmail-ios": ["Partial. Not supported with non Google accounts."],
|
|
7405
|
+
"outlook-windows": ["Partial. Only supported on the `<body>` element."]
|
|
7406
|
+
},
|
|
7407
|
+
"[command]": {
|
|
7408
|
+
"samsung-mail": ["Partial. Not supported with Microsoft (Hotmail/Outlook) accounts."]
|
|
7409
|
+
},
|
|
7410
|
+
"[dir]": {
|
|
7411
|
+
"outlook-windows": ["Buggy on anchor `<a>` tags."],
|
|
7412
|
+
"outlook-windows-legacy": ["Buggy on anchor `<a>` tags."]
|
|
7413
|
+
},
|
|
7414
|
+
"[height]": {
|
|
7415
|
+
"outlook-windows": ["Buggy. Percentage width on `<img>` elements are based on the physical file's width, not on the parent element's width.", "Buggy. Sizes set in attributes don't scale in 120 dpi mode."]
|
|
7416
|
+
},
|
|
7417
|
+
"[lang]": {
|
|
7418
|
+
"yahoo-mail": ["Not supported on `<td>` elements."],
|
|
7419
|
+
"yahoo-mail-android": ["Not supported on `<td>` elements."],
|
|
7420
|
+
"yahoo-mail-ios": ["Not supported on `<td>` elements."],
|
|
7421
|
+
"aol": ["Not supported on `<td>` elements."]
|
|
7422
|
+
},
|
|
7423
|
+
"[loading]": {
|
|
7424
|
+
"outlook-macos": ["The `loading` attribute is supported, but not confirmed whether it works according to spec."],
|
|
7425
|
+
"apple-mail-macos": ["The `loading` attribute is supported, but not confirmed whether it works according to spec."],
|
|
7426
|
+
"apple-mail-ios": ["The `loading` attribute is supported, but not confirmed whether it works according to spec."],
|
|
7427
|
+
"samsung-mail": ["The `loading` attribute is supported, but not confirmed whether it works according to spec."],
|
|
7428
|
+
"thunderbird": ["The `loading` attribute is supported, but not confirmed whether it works according to spec."],
|
|
7429
|
+
"hey-mail": ['Not supported. The webmail adds `loading="lazy"` to all images.']
|
|
7430
|
+
},
|
|
7431
|
+
"[popover]": {
|
|
7432
|
+
"samsung-mail": ["Partial. Not supported with Hotmail/Outlook accounts."],
|
|
7433
|
+
"thunderbird": ["Buggy. A button with just an image inside will trigger an image zoom rather than the popover."],
|
|
7434
|
+
"protonmail": ["Partial. Does not work with command/commandfor attributes only with popovertarget/popovertargetaction"]
|
|
7435
|
+
},
|
|
7436
|
+
"[required]": {
|
|
7437
|
+
"gmail-android": ["Partial. Only supported with non Google accounts."]
|
|
7438
|
+
},
|
|
7439
|
+
"[role]": {
|
|
7440
|
+
"outlook-windows": ["Not live tested, only looked at processed code on Litmus."],
|
|
7441
|
+
"yahoo-mail": ["Partial. Only works on the `<table>` tag."],
|
|
7442
|
+
"yahoo-mail-android": ["Partial. Only works on the `<table>` tag."],
|
|
7443
|
+
"yahoo-mail-ios": ["Partial. Only works on the `<table>` tag."],
|
|
7444
|
+
"aol": ["Partial. Only works on the `<table>` tag."]
|
|
7445
|
+
},
|
|
7446
|
+
"[srcset]": {
|
|
7447
|
+
"protonmail": ["The `sizes` attribute is supported but not `srcset`."],
|
|
7448
|
+
"fastmail": ["The `sizes` attribute is supported but not `srcset`."]
|
|
7449
|
+
},
|
|
7450
|
+
"[target]": {
|
|
7451
|
+
"gmail-web": ['Not supported. `target="_blank"` is forced on all links.'],
|
|
7452
|
+
"gmail-android": ['Not supported. `target="_blank"` is forced on all links.'],
|
|
7453
|
+
"gmail-ios": ['Not supported. `target="_blank"` is forced on all links.'],
|
|
7454
|
+
"outlook-web": ['Not supported. `target="_blank"` is forced on all links.'],
|
|
7455
|
+
"outlook-windows": ["The attribute is supported but links always open in a new window anyway."],
|
|
7456
|
+
"outlook-windows-legacy": ["The attribute is supported but links always open in a new window anyway."],
|
|
7457
|
+
"outlook-ios": ["The attribute is supported but links always open in a new window anyway."],
|
|
7458
|
+
"outlook-android": ["The attribute is supported but links always open in a new window anyway."],
|
|
7459
|
+
"outlook-macos": ["The attribute is supported but links always open in a new window anyway."],
|
|
7460
|
+
"apple-mail-macos": ["The attribute is supported but links always open in a new window anyway."],
|
|
7461
|
+
"apple-mail-ios": ["The attribute is supported but links always open in a new window anyway."],
|
|
7462
|
+
"yahoo-mail": ['Not supported. `target="_blank"` is forced on all links.'],
|
|
7463
|
+
"yahoo-mail-android": ['Not supported. `target="_blank"` is forced on all links.'],
|
|
7464
|
+
"yahoo-mail-ios": ['Not supported. `target="_blank"` is forced on all links.'],
|
|
7465
|
+
"samsung-mail": ["The attribute is supported but links always open in a new window anyway."],
|
|
7466
|
+
"thunderbird": ["The attribute is supported but links always open in a new window anyway."],
|
|
7467
|
+
"hey-mail": ['Not supported. `target="_blank"` is forced on all links.'],
|
|
7468
|
+
"protonmail": ['Not supported. `target="_blank"` is forced on all links.'],
|
|
7469
|
+
"aol": ['Not supported. `target="_blank"` is forced on all links.'],
|
|
7470
|
+
"fastmail": ['Not supported. `target="_blank"` is forced on all links.']
|
|
7471
|
+
},
|
|
7472
|
+
"[width]": {
|
|
7473
|
+
"outlook-windows": ["Buggy. Percentage width on `<img>` elements are based on the physical file's width, not on the parent element's width.", "Buggy. Sizes set in attributes don't scale in 120 dpi mode."],
|
|
7474
|
+
"apple-mail-macos": ["The `width` attribute is ignored on CID embedded images. See [#171](https://github.com/hteumeuleu/caniemail/issues/171)."]
|
|
6326
7475
|
},
|
|
6327
7476
|
"@font-face": {
|
|
6328
7477
|
"gmail-web": ["Not supported. Roboto and Google Sans can be used, but only because they're embedded with the webmail's own styles."],
|
|
6329
7478
|
"outlook-windows": ["Partial. The declaration is supported but distant fonts are ignored."],
|
|
6330
7479
|
"samsung-mail": ["Not supported when using a Microsoft email address; outlook, live, hotmail, etc."]
|
|
6331
7480
|
},
|
|
7481
|
+
"@media": {
|
|
7482
|
+
"gmail-web": ["Partial. Does not support height based media queries."],
|
|
7483
|
+
"gmail-android": ["Partial. Not supported with non Google accounts.", "Partial. Does not support height based media queries."],
|
|
7484
|
+
"gmail-ios": ["Partial. Not supported with non Google accounts.", "Partial. Does not support height based media queries."],
|
|
7485
|
+
"outlook-web": ["Partial. Does not support nested media queries.", "Partial. Nested media queries are removed."],
|
|
7486
|
+
"outlook-ios": ["Partial. Does not support nested media queries."],
|
|
7487
|
+
"outlook-android": ["Partial. Does not support nested media queries."],
|
|
7488
|
+
"yahoo-mail": ["Partial. Only supports `screen`, `min-width`, `max-width`, `min-height` and `max-height` based media queries."],
|
|
7489
|
+
"yahoo-mail-android": ["Partial. Only supports `screen`, `min-width`, `max-width`, `min-height` and `max-height` based media queries."],
|
|
7490
|
+
"yahoo-mail-ios": ["Partial. Only supports `screen`, `min-width`, `max-width`, `min-height` and `max-height` based media queries."],
|
|
7491
|
+
"samsung-mail": ["Partial. Not supported with Hotmail/Outlook accounts."],
|
|
7492
|
+
"protonmail": ["Partial. Does not support landscape media query."],
|
|
7493
|
+
"aol": ["Partial. Only supports `screen`, `min-width`, `max-width`, `min-height` and `max-height` based media queries."]
|
|
7494
|
+
},
|
|
7495
|
+
"@media orientation": {
|
|
7496
|
+
"apple-mail-ios": ["Partial. `orientation:portrait` is not supported."]
|
|
7497
|
+
},
|
|
7498
|
+
"@media prefers-color-scheme": {
|
|
7499
|
+
"outlook-web": ["Additional custom `data` attributes (`data-ogsc`, `data-ogac`, `data-ogsb`, `data-ogab`) are added when viewing an email in dark mode. See [this article](https://www.hteumeuleu.com/2021/emails-react-outlook-com-dark-mode/) for examples."],
|
|
7500
|
+
"outlook-ios": ["Additional custom `data` attributes (`data-ogsc`, `data-ogac`, `data-ogsb`, `data-ogab`) are added when viewing an email in dark mode. See [this article](https://www.hteumeuleu.com/2021/emails-react-outlook-com-dark-mode/) for examples."],
|
|
7501
|
+
"outlook-android": ["Additional custom `data` attributes (`data-ogsc`, `data-ogac`, `data-ogsb`, `data-ogab`) are added when viewing an email in dark mode. See [this article](https://www.hteumeuleu.com/2021/emails-react-outlook-com-dark-mode/) for examples."],
|
|
7502
|
+
"yahoo-mail": ["Not supported. `@media (prefers-color-scheme:dark)` is transformed into `@media ()`"],
|
|
7503
|
+
"hey-mail": ["Not supported. `@media (prefers-color-scheme:dark)` is transformed into `@media (false)`"],
|
|
7504
|
+
"aol": ["Not supported. `@media (prefers-color-scheme)` is transformed into `@media ( _filtered_a )`."],
|
|
7505
|
+
"fastmail": ["`@media (prefers-color-scheme:dark)` is transformed into `@media all` at run time if it applies."]
|
|
7506
|
+
},
|
|
7507
|
+
"@media prefers-reduced-motion": {
|
|
7508
|
+
"protonmail": ["Partially supported. Not supported on `picture`."],
|
|
7509
|
+
"fastmail": ["Not supported. `@media (prefers-reduced-motion:reduce)` is transformed into `@media none`."]
|
|
7510
|
+
},
|
|
6332
7511
|
"@supports": {
|
|
6333
7512
|
"yahoo-mail": ["Properties not supported by the client are replaced by `_filtered_a` inside the parenthesis."],
|
|
6334
7513
|
"yahoo-mail-android": ["Properties not supported by the client are replaced by `_filtered_a` inside the parenthesis."],
|
|
@@ -6345,13 +7524,32 @@ var CSS_SUPPORT_NOTES = {
|
|
|
6345
7524
|
"yahoo-mail": ["Partial. Removed if there is no space before when used with a `background-image` property. (See [email-bugs#16](https://github.com/hteumeuleu/email-bugs/issues/16))"],
|
|
6346
7525
|
"yahoo-mail-android": ["Partial. Removed if there is no space before when used with a `background-image` property. (See [email-bugs#16](https://github.com/hteumeuleu/email-bugs/issues/16))"],
|
|
6347
7526
|
"yahoo-mail-ios": ["Partial. Removed if there is no space before when used with a `background-image` property. (See [email-bugs#16](https://github.com/hteumeuleu/email-bugs/issues/16))"],
|
|
6348
|
-
"protonmail": ["Partial. Only supported in lowercase."],
|
|
7527
|
+
"protonmail": ["Partial. Only supported in lowercase.", "Partial. Only supported if not written in lowercase.", "Partial. Only supported inline due to the lack of `<style>` support."],
|
|
6349
7528
|
"aol": ["Partial. Removed if there is no space before when used with a `background-image` property. (See [email-bugs#16](https://github.com/hteumeuleu/email-bugs/issues/16))"]
|
|
6350
7529
|
},
|
|
6351
7530
|
"accent-color": {
|
|
6352
7531
|
"apple-mail-ios": ["Supports `accent-color` but rendering depends on browser support."],
|
|
6353
7532
|
"samsung-mail": ["Supports `accent-color` but rendering depends on browser support."]
|
|
6354
7533
|
},
|
|
7534
|
+
"amp4email": {
|
|
7535
|
+
"gmail-web": ["Supported on compatible browsers. Refer to \u2018supported platforms\u2019 links listed below under resources."],
|
|
7536
|
+
"yahoo-mail": ["Supported on compatible browsers. Refer to \u2018supported platforms\u2019 links listed below under resources."]
|
|
7537
|
+
},
|
|
7538
|
+
"anchor-links": {
|
|
7539
|
+
"gmail-web": ["Partial. Works when targeting an empty anchor with the corresponding `name` attribute, but not with `id` attributes."],
|
|
7540
|
+
"gmail-android": ["Buggy. Targeted content is partially hidden by the application UI on top."],
|
|
7541
|
+
"gmail-ios": ["Buggy. Clicking an anchor link does nothing."],
|
|
7542
|
+
"outlook-windows": ["Partial. Works when targeting an empty anchor with the corresponding `name` attribute, but not with `id` attributes."],
|
|
7543
|
+
"outlook-windows-legacy": ["Partial. Works when targeting an empty anchor with the corresponding `name` attribute, but not with `id` attributes."],
|
|
7544
|
+
"apple-mail-macos": ["Buggy. Targeted content is partially hidden by the application UI on top."],
|
|
7545
|
+
"yahoo-mail": ["Partial. Works when targeting an empty anchor with the corresponding `name` attribute, but not with `id` attributes."],
|
|
7546
|
+
"yahoo-mail-android": ["Buggy. Clicking an anchor link does nothing."],
|
|
7547
|
+
"yahoo-mail-ios": ["Buggy. Opens a new in-app browser window on yahoo.com with the anchor appended to the URL."],
|
|
7548
|
+
"samsung-mail": ["Buggy. Clicking an anchor link does nothing."]
|
|
7549
|
+
},
|
|
7550
|
+
"aspect-ratio": {
|
|
7551
|
+
"protonmail": ["Requires iOS 15."]
|
|
7552
|
+
},
|
|
6355
7553
|
"backdrop-filter": {
|
|
6356
7554
|
"apple-mail-macos": ["Works with prefix `-webkit`"],
|
|
6357
7555
|
"apple-mail-ios": ["Works with prefix `-webkit`"]
|
|
@@ -6424,6 +7622,9 @@ var CSS_SUPPORT_NOTES = {
|
|
|
6424
7622
|
"yahoo-mail-ios": ["Partial support. Shorthand for setting elliptical borders with the slash `/` notation is not supported e.g. `border-radius: 27% 73% 70% 30% / 30% 34% 66% 70%;`."],
|
|
6425
7623
|
"aol": ["Partial support. Shorthand for setting elliptical borders with the slash `/` notation is not supported e.g. `border-radius: 27% 73% 70% 30% / 30% 34% 66% 70%;`."]
|
|
6426
7624
|
},
|
|
7625
|
+
"bottom": {
|
|
7626
|
+
"samsung-mail": ["Partial. Percentages values are not supported."]
|
|
7627
|
+
},
|
|
6427
7628
|
"box-shadow": {
|
|
6428
7629
|
"gmail-android": ["Partial. Only supported with non Google accounts."],
|
|
6429
7630
|
"gmail-ios": ["Partial. Only supported with non Google accounts."]
|
|
@@ -6458,7 +7659,8 @@ var CSS_SUPPORT_NOTES = {
|
|
|
6458
7659
|
"css-comments": {
|
|
6459
7660
|
"gmail-android": ["Partial. `<style>` tag not supported with non-google account. Comment inside `style:` attribute works."],
|
|
6460
7661
|
"yahoo-mail-android": ["Buggy. The first <head> in the HTML is removed, so comment needs to be in the `<style>` tag of a second `<head>` element."],
|
|
6461
|
-
"yahoo-mail-ios": ["Buggy. The first <head> in the HTML is removed, so comment needs to be in the `<style>` tag of a second `<head>` element."]
|
|
7662
|
+
"yahoo-mail-ios": ["Buggy. The first <head> in the HTML is removed, so comment needs to be in the `<style>` tag of a second `<head>` element."],
|
|
7663
|
+
"aol": ["Buggy. The first <head> in the HTML is removed, so comment needs to be in the `<style>` tag of a second `<head>` element."]
|
|
6462
7664
|
},
|
|
6463
7665
|
"cursor": {
|
|
6464
7666
|
"gmail-web": ["Cursor property is removed."],
|
|
@@ -6489,12 +7691,17 @@ var CSS_SUPPORT_NOTES = {
|
|
|
6489
7691
|
"aol": ["Partial. `flow-root`, `inline-flex`, `inline-grid`, `inline flow`, `contents`, `revert` are not supported."],
|
|
6490
7692
|
"fastmail": ["Partial. Two-value syntax are combined into a single one with a dash."]
|
|
6491
7693
|
},
|
|
7694
|
+
"doctype": {
|
|
7695
|
+
"outlook-windows": ["Not supported. The HTML5 doctype has no impact here."],
|
|
7696
|
+
"thunderbird": ["Buggy. Renders as if there was no doctype with an Outlook email, and in HTML5 otherwise."]
|
|
7697
|
+
},
|
|
6492
7698
|
"fit-content": {
|
|
6493
7699
|
"gmail-ios": ["Partial. Not supported with non Google accounts."],
|
|
6494
7700
|
"outlook-ios": ["Partial. Supports `min-content` and `fit-content` only."],
|
|
6495
7701
|
"outlook-android": ["Partial. Supports `min-content` and `fit-content` only."],
|
|
6496
7702
|
"apple-mail-macos": ["Buggy. `width: min-content` acts as if `word-break: break-all` had been set on the element."],
|
|
6497
|
-
"apple-mail-ios": ["Buggy. `width: min-content` acts as if `word-break: break-all` had been set on the element."]
|
|
7703
|
+
"apple-mail-ios": ["Buggy. `width: min-content` acts as if `word-break: break-all` had been set on the element."],
|
|
7704
|
+
"protonmail": ["Buggy. `width: min-content` acts as if `word-break: break-all` had been set on the element."]
|
|
6498
7705
|
},
|
|
6499
7706
|
"float": {
|
|
6500
7707
|
"gmail-android": ["Partial. Logical property values `inline-start` and `inline-end` are not supported."],
|
|
@@ -6551,8 +7758,24 @@ var CSS_SUPPORT_NOTES = {
|
|
|
6551
7758
|
"yahoo-mail-ios": ["Buggy. Replaces `height` by `min-height`."],
|
|
6552
7759
|
"aol": ["Buggy. Replaces `height` by `min-height`."]
|
|
6553
7760
|
},
|
|
6554
|
-
"
|
|
6555
|
-
"
|
|
7761
|
+
"html5-semantics": {
|
|
7762
|
+
"gmail-web": ["Partial. `<details>`, `<main>`, `<nav>` and `<summary>` are not supported. Opening and closing tags are replaced by `<u></u>`."],
|
|
7763
|
+
"gmail-android": ["Partial. `<details>`, `<main>`, `<nav>` and `<summary>` are not supported. Opening and closing tags are replaced by `<u></u>`."],
|
|
7764
|
+
"gmail-ios": ["Partial. `<details>`, `<main>`, `<nav>` and `<summary>` are not supported. Opening and closing tags are replaced by `<u></u>`."],
|
|
7765
|
+
"outlook-web": ["Partial. Only `<time>` is supported.", "Unsupported opening and closing tags are stripped."],
|
|
7766
|
+
"outlook-ios": ["Partial. Only `<time>` is supported.", "Unsupported opening and closing tags are stripped."],
|
|
7767
|
+
"outlook-android": ["Partial. Only `<time>` is supported.", "Unsupported opening and closing tags are stripped."],
|
|
7768
|
+
"yahoo-mail": ["Unsupported opening and closing tags are stripped."],
|
|
7769
|
+
"yahoo-mail-android": ["Unsupported opening and closing tags are stripped."],
|
|
7770
|
+
"yahoo-mail-ios": ["Unsupported opening and closing tags are stripped."],
|
|
7771
|
+
"hey-mail": ["Partial. `<article>`, `<aside>`, `<header>`, `<main>` `<nav>`, `<section>`, `<summary>` are not supported."],
|
|
7772
|
+
"aol": ["Unsupported opening and closing tags are stripped."]
|
|
7773
|
+
},
|
|
7774
|
+
"hyphens": {
|
|
7775
|
+
"protonmail": ["Applies an equivalent behaviour of `word-wrap: break-word` for mobile."]
|
|
7776
|
+
},
|
|
7777
|
+
"inset": {
|
|
7778
|
+
"protonmail": ["Buggy. Almost all values are replaced by `unset`."]
|
|
6556
7779
|
},
|
|
6557
7780
|
"left": {
|
|
6558
7781
|
"samsung-mail": ["Partial. Percentages values are not supported."]
|
|
@@ -6585,7 +7808,6 @@ var CSS_SUPPORT_NOTES = {
|
|
|
6585
7808
|
"yahoo-mail": ["`list-style-image` values are not supported but the rest of the `list-style` property is kept."],
|
|
6586
7809
|
"yahoo-mail-android": ["`list-style-image` values are not supported but the rest of the `list-style` property is kept."],
|
|
6587
7810
|
"yahoo-mail-ios": ["`list-style-image` values are not supported but the rest of the `list-style` property is kept."],
|
|
6588
|
-
"protonmail": ["`url()` is transformed into `proton-url()` for `list-style-type` values, invalidating the entire property."],
|
|
6589
7811
|
"aol": ["`list-style-image` values are not supported but the rest of the `list-style` property is kept."]
|
|
6590
7812
|
},
|
|
6591
7813
|
"list-style-image": {
|
|
@@ -6600,6 +7822,11 @@ var CSS_SUPPORT_NOTES = {
|
|
|
6600
7822
|
"outlook-windows": ["Not supported, but the proprietary `mso-text-indent-alt` property can be used instead."],
|
|
6601
7823
|
"outlook-windows-legacy": ["Not supported, but the proprietary `mso-text-indent-alt` property can be used instead."]
|
|
6602
7824
|
},
|
|
7825
|
+
"mailto-links": {
|
|
7826
|
+
"yahoo-mail-android": ["Partial. `bcc` is not supported."],
|
|
7827
|
+
"protonmail": ["Partial. `bcc` is not supported."],
|
|
7828
|
+
"aol": ["Partial. `bcc` is not supported."]
|
|
7829
|
+
},
|
|
6603
7830
|
"margin": {
|
|
6604
7831
|
"gmail-web": ["Partial. Negative values are not supported."],
|
|
6605
7832
|
"gmail-android": ["Partial. Negative values are not supported."],
|
|
@@ -6640,7 +7867,6 @@ var CSS_SUPPORT_NOTES = {
|
|
|
6640
7867
|
"gmail-android": ["Using this syntax for an inline style will remove all inline styles applied to that element."],
|
|
6641
7868
|
"gmail-ios": ["Using this syntax for an inline style will remove all inline styles applied to that element."],
|
|
6642
7869
|
"hey-mail": ["Depends on browser support."],
|
|
6643
|
-
"protonmail": ["Depends on browser support."],
|
|
6644
7870
|
"fastmail": ["Depends on browser support."]
|
|
6645
7871
|
},
|
|
6646
7872
|
"nesting": {
|
|
@@ -6649,6 +7875,7 @@ var CSS_SUPPORT_NOTES = {
|
|
|
6649
7875
|
"yahoo-mail-android": ["Not supported. The nested selectors are removed, making the nested properties apply to the parent selector."],
|
|
6650
7876
|
"yahoo-mail-ios": ["Not supported. The nested selectors are removed, making the nested properties apply to the parent selector."],
|
|
6651
7877
|
"samsung-mail": ["Partial. Not supported with Hotmail/Outlook accounts."],
|
|
7878
|
+
"protonmail": ["Partial. `@media` is not fully supported, and `& & &` syntax not supported"],
|
|
6652
7879
|
"aol": ["Not supported. The nested selectors are removed, making the nested properties apply to the parent selector."]
|
|
6653
7880
|
},
|
|
6654
7881
|
"object-fit": {
|
|
@@ -6678,12 +7905,14 @@ var CSS_SUPPORT_NOTES = {
|
|
|
6678
7905
|
"yahoo-mail-android": ["Buggy. Cannot scroll through to hidden content.", "Partial. `overflow-block` & `overflow-inline` not supported."],
|
|
6679
7906
|
"yahoo-mail-ios": ["Partial. `overflow-block` & `overflow-inline` not supported."],
|
|
6680
7907
|
"samsung-mail": ["Partial. `overflow-block` & `overflow-inline` not supported."],
|
|
6681
|
-
"protonmail": ["Partial. Support for `overflow-block` & `overflow-inline` depends on browser support."],
|
|
6682
|
-
"aol": ["Partial. `overflow-block` & `overflow-inline` not supported."]
|
|
7908
|
+
"protonmail": ["Partial. Support for `overflow-block` & `overflow-inline` depends on browser support.", "Buggy. Cannot scroll through to hidden content."],
|
|
7909
|
+
"aol": ["Partial. `overflow-block` & `overflow-inline` not supported.", "Buggy. Cannot scroll through to hidden content."]
|
|
6683
7910
|
},
|
|
6684
7911
|
"overflow-wrap": {
|
|
7912
|
+
"outlook-windows": ["Does not honor any wrapping, including `word-wrap`, `overflow-wrap`, and `word-break`. Using an equivalent MSO breakdown (`-ms-word-break: break-all` and `mso-hyphenate: none` together) does not work."],
|
|
6685
7913
|
"apple-mail-macos": ["Buggy. Requires `word-break:normal` to reset Apple Mail default style (See [issue#394](https://github.com/hteumeuleu/caniemail/issues/394).)"],
|
|
6686
|
-
"apple-mail-ios": ["Buggy. Requires `word-break:normal` to reset Apple Mail default style (See [issue#394](https://github.com/hteumeuleu/caniemail/issues/394).)"]
|
|
7914
|
+
"apple-mail-ios": ["Buggy. Requires `word-break:normal` to reset Apple Mail default style (See [issue#394](https://github.com/hteumeuleu/caniemail/issues/394).)"],
|
|
7915
|
+
"protonmail": ["`word-wrap` is correctly supported, however `word-break` seems to break for all values"]
|
|
6687
7916
|
},
|
|
6688
7917
|
"padding": {
|
|
6689
7918
|
"outlook-windows": ["Partial. Only supported on table cells.", "Buggy. Vertical padding will be the same for all cells of a same row, adopting the biggest value."],
|
|
@@ -6700,7 +7929,8 @@ var CSS_SUPPORT_NOTES = {
|
|
|
6700
7929
|
"samsung-mail": ["Partial. Supports `relative`, `absolute` but not `sticky` and `fixed`."],
|
|
6701
7930
|
"hey-mail": ["Partial. Supports `relative` and `sticky` but not `absolute` and `fixed`."],
|
|
6702
7931
|
"aol": ["Partial. Supports `relative` but not `absolute`, `sticky` and `fixed`."],
|
|
6703
|
-
"fastmail": ["Partial. Supports `relative`, `absolute` but not `sticky` and `fixed`.", "Buggy. `fixed` is replaced by `absolute`."]
|
|
7932
|
+
"fastmail": ["Partial. Supports `relative`, `absolute` but not `sticky` and `fixed`.", "Buggy. `fixed` is replaced by `absolute`."],
|
|
7933
|
+
"superhuman": ["Partial. Supports `relative` and `absolute` but not `fixed` and `sticky`."]
|
|
6704
7934
|
},
|
|
6705
7935
|
"pseudo-class-active": {
|
|
6706
7936
|
"outlook-web": ["Partial. Only supported on type selectors."],
|
|
@@ -6727,7 +7957,6 @@ var CSS_SUPPORT_NOTES = {
|
|
|
6727
7957
|
"outlook-macos": ["`resize` property is stripped from style tag"],
|
|
6728
7958
|
"apple-mail-macos": ["Does not support `inline` and `block` values"],
|
|
6729
7959
|
"yahoo-mail": ["`resize` property is stripped from style tag"],
|
|
6730
|
-
"protonmail": ["Supported but depends of browser support"],
|
|
6731
7960
|
"aol": ["`resize` property is stripped from style tag"]
|
|
6732
7961
|
},
|
|
6733
7962
|
"rgb": {
|
|
@@ -6750,6 +7979,9 @@ var CSS_SUPPORT_NOTES = {
|
|
|
6750
7979
|
"yahoo-mail-ios": ["Whitespace syntax is not supported (`rgb(0 128 0 / 1)`)."],
|
|
6751
7980
|
"aol": ["Whitespace syntax is not supported (`rgb(0 128 0 / 1)`)."]
|
|
6752
7981
|
},
|
|
7982
|
+
"right": {
|
|
7983
|
+
"samsung-mail": ["Partial. Percentages values are not supported."]
|
|
7984
|
+
},
|
|
6753
7985
|
"system-ui": {
|
|
6754
7986
|
"gmail-web": ["Partial. Depends on browser support. `system-ui` works in all browsers. `ui-serif`, `ui-sans-serif`, `ui-rounded` and `ui-monospace` are supported on all browsers on iOS and Safari on MacOS."],
|
|
6755
7987
|
"gmail-android": ["Partial. Supports `system-ui` only."],
|
|
@@ -6760,8 +7992,8 @@ var CSS_SUPPORT_NOTES = {
|
|
|
6760
7992
|
"samsung-mail": ["Partial. Supports `system-ui` only."],
|
|
6761
7993
|
"thunderbird": ["Partial. Supports `system-ui` only."],
|
|
6762
7994
|
"hey-mail": ["Partial. Depends on browser support. `system-ui` works in all browsers. `ui-serif`, `ui-sans-serif`, `ui-rounded` and `ui-monospace` are supported on all browsers on iOS and Safari on MacOS."],
|
|
6763
|
-
"protonmail": ["Partial.
|
|
6764
|
-
"aol": ["Partial.
|
|
7995
|
+
"protonmail": ["Partial. Supports `system-ui` only."],
|
|
7996
|
+
"aol": ["Partial. Supports `system-ui` only."],
|
|
6765
7997
|
"fastmail": ["Partial. Depends on browser support. `system-ui` works in all browsers. `ui-serif`, `ui-sans-serif`, `ui-rounded` and `ui-monospace` are supported on all browsers on iOS and Safari on MacOS."]
|
|
6766
7998
|
},
|
|
6767
7999
|
"tab-size": {
|
|
@@ -6822,8 +8054,7 @@ var CSS_SUPPORT_NOTES = {
|
|
|
6822
8054
|
"yahoo-mail-android": ["Buggy. `text-justify` is stripped"],
|
|
6823
8055
|
"yahoo-mail-ios": ["Buggy. `text-justify` is stripped"],
|
|
6824
8056
|
"samsung-mail": ["Buggy. `text-justify` is stripped"],
|
|
6825
|
-
"
|
|
6826
|
-
"aol": ["Partial. Depends on browser support", "Partial. `text-justify` is stripped except when the value is `inter-word` or `distribute`"]
|
|
8057
|
+
"aol": ["Partial. Depends on browser support", "Partial. `text-justify` is stripped except when the value is `inter-word` or `distribute`", "Buggy. `text-justify` is stripped"]
|
|
6827
8058
|
},
|
|
6828
8059
|
"text-overflow": {
|
|
6829
8060
|
"gmail-android": ["Partial. Not supported with non Google accounts."],
|
|
@@ -6839,6 +8070,9 @@ var CSS_SUPPORT_NOTES = {
|
|
|
6839
8070
|
"apple-mail-macos": ["Partial. Supports `under` but not `right` and `left`"],
|
|
6840
8071
|
"apple-mail-ios": ["Partial. Supports `under` but not `right` and `left`"]
|
|
6841
8072
|
},
|
|
8073
|
+
"top": {
|
|
8074
|
+
"samsung-mail": ["Partial. Percentages values are not supported."]
|
|
8075
|
+
},
|
|
6842
8076
|
"transition": {
|
|
6843
8077
|
"yahoo-mail": ["Partial. Longhand properties are not supported.", "Buggy. The `all` keyword is not supported."],
|
|
6844
8078
|
"yahoo-mail-android": ["Partial. Longhand properties are not supported.", "Buggy. The `all` keyword is not supported."],
|
|
@@ -6846,7 +8080,8 @@ var CSS_SUPPORT_NOTES = {
|
|
|
6846
8080
|
"samsung-mail": ["Partial. Not supported with Outlook accounts."],
|
|
6847
8081
|
"hey-mail": ["Buggy. `transition-duration` is forced to `0` on a global reset style."],
|
|
6848
8082
|
"aol": ["Partial. Longhand properties are not supported.", "Buggy. The `all` keyword is not supported."],
|
|
6849
|
-
"fastmail": ["Transition properties are supported but pseudo-classes like `:hover` are not."]
|
|
8083
|
+
"fastmail": ["Transition properties are supported but pseudo-classes like `:hover` are not."],
|
|
8084
|
+
"superhuman": ["Partial. Blink runs transitions, but the user's reduced-motion setting may disable them."]
|
|
6850
8085
|
},
|
|
6851
8086
|
"unit-initial": {
|
|
6852
8087
|
"gmail-web": ["Partial. Webmail rendering doesn't work in IE."],
|
|
@@ -6879,7 +8114,8 @@ var CSS_SUPPORT_NOTES = {
|
|
|
6879
8114
|
"outlook-macos": ['Buggy. `visibility:collapse` applied to a `<tr>` only hides content and does not "remove" it from layout.'],
|
|
6880
8115
|
"apple-mail-macos": ['Buggy. `visibility:collapse` applied to a `<tr>` only hides content and does not "remove" it from layout.'],
|
|
6881
8116
|
"apple-mail-ios": ['Buggy. `visibility:collapse` applied to a `<tr>` only hides content and does not "remove" it from layout.'],
|
|
6882
|
-
"yahoo-mail-ios": ['Buggy. `visibility:collapse` applied to a `<tr>` only hides content and does not "remove" it from layout.']
|
|
8117
|
+
"yahoo-mail-ios": ['Buggy. `visibility:collapse` applied to a `<tr>` only hides content and does not "remove" it from layout.'],
|
|
8118
|
+
"protonmail": ['Buggy. `visibility:collapse` applied to a `<tr>` only hides content and does not "remove" it from layout.']
|
|
6883
8119
|
},
|
|
6884
8120
|
"white-space": {
|
|
6885
8121
|
"gmail-android": ["Partial. Not supported with non Google accounts.", "Partial. `pre` value is not supported."],
|
|
@@ -6914,13 +8150,13 @@ var CSS_SUPPORT_NOTES = {
|
|
|
6914
8150
|
"apple-mail-macos": ["Buggy. Supported but a `word-wrap:break-word` is applied, making it look like `break-all`."],
|
|
6915
8151
|
"apple-mail-ios": ["Buggy. Supported but a `word-wrap:break-word` is applied, making it look like `break-all`."],
|
|
6916
8152
|
"samsung-mail": ["Buggy. Supported but a `word-wrap:break-word` is applied, making it look like `break-all`."],
|
|
6917
|
-
"hey-mail": ["Buggy. Every value is replaced by `break-word`."]
|
|
8153
|
+
"hey-mail": ["Buggy. Every value is replaced by `break-word`."],
|
|
8154
|
+
"protonmail": ["Buggy. Supported but a `word-wrap:break-word` is applied, making it look like `break-all`."]
|
|
6918
8155
|
},
|
|
6919
8156
|
"word-spacing": {
|
|
6920
8157
|
"yahoo-mail": ["Does not support `rem` and `ch` values."],
|
|
6921
8158
|
"yahoo-mail-android": ["Does not support `rem` and `ch` values."],
|
|
6922
|
-
"yahoo-mail-ios": ["Does not support `rem` and `ch` values."]
|
|
6923
|
-
"aol": ["Does not support `rem` and `ch` values."]
|
|
8159
|
+
"yahoo-mail-ios": ["Does not support `rem` and `ch` values."]
|
|
6924
8160
|
},
|
|
6925
8161
|
"writing-mode": {
|
|
6926
8162
|
"gmail-android": ["Partial. Not supported with non Google accounts."],
|
|
@@ -7072,28 +8308,421 @@ var CSS_SUPPORT_NOTES = {
|
|
|
7072
8308
|
"gmail-android": ["Partial. Not supported with non Google accounts."],
|
|
7073
8309
|
"gmail-ios": ["Partial. Not supported with non Google accounts."]
|
|
7074
8310
|
},
|
|
7075
|
-
":universal-selector": {
|
|
7076
|
-
"gmail-android": ["Partial. Not supported with non Google accounts."],
|
|
7077
|
-
"gmail-ios": ["Partial. Not supported with non Google accounts."]
|
|
8311
|
+
":universal-selector": {
|
|
8312
|
+
"gmail-android": ["Partial. Not supported with non Google accounts."],
|
|
8313
|
+
"gmail-ios": ["Partial. Not supported with non Google accounts."]
|
|
8314
|
+
},
|
|
8315
|
+
":visited": {
|
|
8316
|
+
"outlook-web": ["Partial. Only supported on type selectors."]
|
|
8317
|
+
},
|
|
8318
|
+
"display:flex": {
|
|
8319
|
+
"gmail-android": ["Not supported with non Google accounts."],
|
|
8320
|
+
"gmail-ios": ["Not supported with non Google accounts."],
|
|
8321
|
+
"yahoo-mail": ["`display:inline-flex` is not supported."],
|
|
8322
|
+
"yahoo-mail-android": ["`display:inline-flex` is not supported."],
|
|
8323
|
+
"yahoo-mail-ios": ["`display:inline-flex` is not supported."],
|
|
8324
|
+
"aol": ["`display:inline-flex` is not supported."]
|
|
8325
|
+
},
|
|
8326
|
+
"display:grid": {
|
|
8327
|
+
"gmail-android": ["Not supported with non Google accounts."],
|
|
8328
|
+
"gmail-ios": ["Not supported with non Google accounts."]
|
|
8329
|
+
},
|
|
8330
|
+
"display:none": {
|
|
8331
|
+
"outlook-windows": ["Partial. Does not inherit onto nested `<table>` elements.", "Partial. Does not work when applied directly to an `<img>` element."],
|
|
8332
|
+
"outlook-windows-legacy": ["Partial. Does not inherit onto nested `<table>` elements.", "Partial. Does not work when applied directly to an `<img>` element."]
|
|
8333
|
+
}
|
|
8334
|
+
};
|
|
8335
|
+
var IMAGE_FORMATS = [
|
|
8336
|
+
"apng",
|
|
8337
|
+
"avif",
|
|
8338
|
+
"base64",
|
|
8339
|
+
"bmp",
|
|
8340
|
+
"gif",
|
|
8341
|
+
"hdr",
|
|
8342
|
+
"heif",
|
|
8343
|
+
"ico",
|
|
8344
|
+
"jpg",
|
|
8345
|
+
"mp4",
|
|
8346
|
+
"png",
|
|
8347
|
+
"svg",
|
|
8348
|
+
"tiff",
|
|
8349
|
+
"webp"
|
|
8350
|
+
];
|
|
8351
|
+
var IMAGE_SUPPORT_TABLE = {
|
|
8352
|
+
"apng": {
|
|
8353
|
+
"gmail-web": "unsupported",
|
|
8354
|
+
"gmail-android": "unsupported",
|
|
8355
|
+
"gmail-ios": "supported",
|
|
8356
|
+
"outlook-web": "supported",
|
|
8357
|
+
"outlook-windows": "unsupported",
|
|
8358
|
+
"outlook-windows-legacy": "unsupported",
|
|
8359
|
+
"outlook-ios": "supported",
|
|
8360
|
+
"outlook-android": "unsupported",
|
|
8361
|
+
"outlook-macos": "supported",
|
|
8362
|
+
"apple-mail-macos": "supported",
|
|
8363
|
+
"apple-mail-ios": "supported",
|
|
8364
|
+
"yahoo-mail": "supported",
|
|
8365
|
+
"yahoo-mail-android": "supported",
|
|
8366
|
+
"yahoo-mail-ios": "supported",
|
|
8367
|
+
"samsung-mail": "supported",
|
|
8368
|
+
"thunderbird": "supported",
|
|
8369
|
+
"hey-mail": "supported",
|
|
8370
|
+
"protonmail": "supported",
|
|
8371
|
+
"aol": "supported",
|
|
8372
|
+
"fastmail": "supported",
|
|
8373
|
+
"superhuman": "unknown"
|
|
8374
|
+
},
|
|
8375
|
+
"avif": {
|
|
8376
|
+
"gmail-web": "partial",
|
|
8377
|
+
"gmail-android": "partial",
|
|
8378
|
+
"gmail-ios": "partial",
|
|
8379
|
+
"outlook-web": "supported",
|
|
8380
|
+
"outlook-windows": "unsupported",
|
|
8381
|
+
"outlook-windows-legacy": "unsupported",
|
|
8382
|
+
"outlook-ios": "supported",
|
|
8383
|
+
"outlook-android": "supported",
|
|
8384
|
+
"outlook-macos": "supported",
|
|
8385
|
+
"apple-mail-macos": "supported",
|
|
8386
|
+
"apple-mail-ios": "supported",
|
|
8387
|
+
"yahoo-mail": "supported",
|
|
8388
|
+
"yahoo-mail-android": "supported",
|
|
8389
|
+
"yahoo-mail-ios": "supported",
|
|
8390
|
+
"samsung-mail": "supported",
|
|
8391
|
+
"thunderbird": "supported",
|
|
8392
|
+
"hey-mail": "supported",
|
|
8393
|
+
"protonmail": "supported",
|
|
8394
|
+
"aol": "supported",
|
|
8395
|
+
"fastmail": "unsupported",
|
|
8396
|
+
"superhuman": "unknown"
|
|
8397
|
+
},
|
|
8398
|
+
"base64": {
|
|
8399
|
+
"gmail-web": "unsupported",
|
|
8400
|
+
"gmail-android": "unsupported",
|
|
8401
|
+
"gmail-ios": "unsupported",
|
|
8402
|
+
"outlook-web": "supported",
|
|
8403
|
+
"outlook-windows": "partial",
|
|
8404
|
+
"outlook-windows-legacy": "unsupported",
|
|
8405
|
+
"outlook-ios": "supported",
|
|
8406
|
+
"outlook-android": "supported",
|
|
8407
|
+
"outlook-macos": "supported",
|
|
8408
|
+
"apple-mail-macos": "supported",
|
|
8409
|
+
"apple-mail-ios": "supported",
|
|
8410
|
+
"yahoo-mail": "supported",
|
|
8411
|
+
"yahoo-mail-android": "supported",
|
|
8412
|
+
"yahoo-mail-ios": "supported",
|
|
8413
|
+
"samsung-mail": "supported",
|
|
8414
|
+
"thunderbird": "supported",
|
|
8415
|
+
"hey-mail": "unsupported",
|
|
8416
|
+
"protonmail": "supported",
|
|
8417
|
+
"aol": "supported",
|
|
8418
|
+
"fastmail": "supported",
|
|
8419
|
+
"superhuman": "unknown"
|
|
8420
|
+
},
|
|
8421
|
+
"bmp": {
|
|
8422
|
+
"gmail-web": "partial",
|
|
8423
|
+
"gmail-android": "partial",
|
|
8424
|
+
"gmail-ios": "supported",
|
|
8425
|
+
"outlook-web": "supported",
|
|
8426
|
+
"outlook-windows": "supported",
|
|
8427
|
+
"outlook-windows-legacy": "supported",
|
|
8428
|
+
"outlook-ios": "supported",
|
|
8429
|
+
"outlook-android": "supported",
|
|
8430
|
+
"outlook-macos": "supported",
|
|
8431
|
+
"apple-mail-macos": "supported",
|
|
8432
|
+
"apple-mail-ios": "supported",
|
|
8433
|
+
"yahoo-mail": "supported",
|
|
8434
|
+
"yahoo-mail-android": "supported",
|
|
8435
|
+
"yahoo-mail-ios": "supported",
|
|
8436
|
+
"samsung-mail": "supported",
|
|
8437
|
+
"thunderbird": "supported",
|
|
8438
|
+
"hey-mail": "supported",
|
|
8439
|
+
"protonmail": "supported",
|
|
8440
|
+
"aol": "supported",
|
|
8441
|
+
"fastmail": "supported",
|
|
8442
|
+
"superhuman": "unknown"
|
|
8443
|
+
},
|
|
8444
|
+
"gif": {
|
|
8445
|
+
"gmail-web": "supported",
|
|
8446
|
+
"gmail-android": "supported",
|
|
8447
|
+
"gmail-ios": "supported",
|
|
8448
|
+
"outlook-web": "supported",
|
|
8449
|
+
"outlook-windows": "partial",
|
|
8450
|
+
"outlook-windows-legacy": "supported",
|
|
8451
|
+
"outlook-ios": "supported",
|
|
8452
|
+
"outlook-android": "supported",
|
|
8453
|
+
"outlook-macos": "supported",
|
|
8454
|
+
"apple-mail-macos": "supported",
|
|
8455
|
+
"apple-mail-ios": "supported",
|
|
8456
|
+
"yahoo-mail": "supported",
|
|
8457
|
+
"yahoo-mail-android": "supported",
|
|
8458
|
+
"yahoo-mail-ios": "supported",
|
|
8459
|
+
"samsung-mail": "supported",
|
|
8460
|
+
"thunderbird": "supported",
|
|
8461
|
+
"hey-mail": "supported",
|
|
8462
|
+
"protonmail": "supported",
|
|
8463
|
+
"aol": "supported",
|
|
8464
|
+
"fastmail": "supported",
|
|
8465
|
+
"superhuman": "unknown"
|
|
8466
|
+
},
|
|
8467
|
+
"hdr": {
|
|
8468
|
+
"gmail-web": "unsupported",
|
|
8469
|
+
"gmail-android": "unsupported",
|
|
8470
|
+
"gmail-ios": "unsupported",
|
|
8471
|
+
"outlook-web": "unsupported",
|
|
8472
|
+
"outlook-windows": "unsupported",
|
|
8473
|
+
"outlook-windows-legacy": "unsupported",
|
|
8474
|
+
"outlook-ios": "unsupported",
|
|
8475
|
+
"outlook-android": "unsupported",
|
|
8476
|
+
"outlook-macos": "unsupported",
|
|
8477
|
+
"apple-mail-macos": "unsupported",
|
|
8478
|
+
"apple-mail-ios": "unsupported",
|
|
8479
|
+
"yahoo-mail": "unsupported",
|
|
8480
|
+
"yahoo-mail-android": "unsupported",
|
|
8481
|
+
"yahoo-mail-ios": "unsupported",
|
|
8482
|
+
"samsung-mail": "unsupported",
|
|
8483
|
+
"thunderbird": "unsupported",
|
|
8484
|
+
"hey-mail": "unsupported",
|
|
8485
|
+
"protonmail": "unsupported",
|
|
8486
|
+
"aol": "unsupported",
|
|
8487
|
+
"fastmail": "unsupported",
|
|
8488
|
+
"superhuman": "unknown"
|
|
8489
|
+
},
|
|
8490
|
+
"heif": {
|
|
8491
|
+
"gmail-web": "partial",
|
|
8492
|
+
"gmail-android": "partial",
|
|
8493
|
+
"gmail-ios": "partial",
|
|
8494
|
+
"outlook-web": "unsupported",
|
|
8495
|
+
"outlook-windows": "unsupported",
|
|
8496
|
+
"outlook-windows-legacy": "unsupported",
|
|
8497
|
+
"outlook-ios": "supported",
|
|
8498
|
+
"outlook-android": "unsupported",
|
|
8499
|
+
"outlook-macos": "unsupported",
|
|
8500
|
+
"apple-mail-macos": "supported",
|
|
8501
|
+
"apple-mail-ios": "supported",
|
|
8502
|
+
"yahoo-mail": "partial",
|
|
8503
|
+
"yahoo-mail-android": "unsupported",
|
|
8504
|
+
"yahoo-mail-ios": "supported",
|
|
8505
|
+
"samsung-mail": "unsupported",
|
|
8506
|
+
"thunderbird": "unsupported",
|
|
8507
|
+
"hey-mail": "unsupported",
|
|
8508
|
+
"protonmail": "unsupported",
|
|
8509
|
+
"aol": "unsupported",
|
|
8510
|
+
"fastmail": "unsupported",
|
|
8511
|
+
"superhuman": "unknown"
|
|
8512
|
+
},
|
|
8513
|
+
"ico": {
|
|
8514
|
+
"gmail-web": "supported",
|
|
8515
|
+
"gmail-android": "supported",
|
|
8516
|
+
"gmail-ios": "supported",
|
|
8517
|
+
"outlook-web": "supported",
|
|
8518
|
+
"outlook-windows": "unsupported",
|
|
8519
|
+
"outlook-windows-legacy": "supported",
|
|
8520
|
+
"outlook-ios": "supported",
|
|
8521
|
+
"outlook-android": "supported",
|
|
8522
|
+
"outlook-macos": "supported",
|
|
8523
|
+
"apple-mail-macos": "supported",
|
|
8524
|
+
"apple-mail-ios": "supported",
|
|
8525
|
+
"yahoo-mail": "supported",
|
|
8526
|
+
"yahoo-mail-android": "supported",
|
|
8527
|
+
"yahoo-mail-ios": "supported",
|
|
8528
|
+
"samsung-mail": "supported",
|
|
8529
|
+
"thunderbird": "supported",
|
|
8530
|
+
"hey-mail": "supported",
|
|
8531
|
+
"protonmail": "supported",
|
|
8532
|
+
"aol": "supported",
|
|
8533
|
+
"fastmail": "supported",
|
|
8534
|
+
"superhuman": "unknown"
|
|
8535
|
+
},
|
|
8536
|
+
"jpg": {
|
|
8537
|
+
"gmail-web": "supported",
|
|
8538
|
+
"gmail-android": "supported",
|
|
8539
|
+
"gmail-ios": "supported",
|
|
8540
|
+
"outlook-web": "supported",
|
|
8541
|
+
"outlook-windows": "supported",
|
|
8542
|
+
"outlook-windows-legacy": "supported",
|
|
8543
|
+
"outlook-ios": "supported",
|
|
8544
|
+
"outlook-android": "supported",
|
|
8545
|
+
"outlook-macos": "supported",
|
|
8546
|
+
"apple-mail-macos": "supported",
|
|
8547
|
+
"apple-mail-ios": "supported",
|
|
8548
|
+
"yahoo-mail": "supported",
|
|
8549
|
+
"yahoo-mail-android": "supported",
|
|
8550
|
+
"yahoo-mail-ios": "supported",
|
|
8551
|
+
"samsung-mail": "supported",
|
|
8552
|
+
"thunderbird": "supported",
|
|
8553
|
+
"hey-mail": "supported",
|
|
8554
|
+
"protonmail": "supported",
|
|
8555
|
+
"aol": "supported",
|
|
8556
|
+
"fastmail": "supported",
|
|
8557
|
+
"superhuman": "unknown"
|
|
8558
|
+
},
|
|
8559
|
+
"mp4": {
|
|
8560
|
+
"gmail-web": "unsupported",
|
|
8561
|
+
"gmail-android": "unsupported",
|
|
8562
|
+
"gmail-ios": "unsupported",
|
|
8563
|
+
"outlook-web": "supported",
|
|
8564
|
+
"outlook-windows": "unsupported",
|
|
8565
|
+
"outlook-windows-legacy": "unsupported",
|
|
8566
|
+
"outlook-ios": "supported",
|
|
8567
|
+
"outlook-android": "unsupported",
|
|
8568
|
+
"outlook-macos": "supported",
|
|
8569
|
+
"apple-mail-macos": "supported",
|
|
8570
|
+
"apple-mail-ios": "supported",
|
|
8571
|
+
"yahoo-mail": "supported",
|
|
8572
|
+
"yahoo-mail-android": "unsupported",
|
|
8573
|
+
"yahoo-mail-ios": "supported",
|
|
8574
|
+
"samsung-mail": "unsupported",
|
|
8575
|
+
"thunderbird": "unsupported",
|
|
8576
|
+
"hey-mail": "unsupported",
|
|
8577
|
+
"protonmail": "unsupported",
|
|
8578
|
+
"aol": "unsupported",
|
|
8579
|
+
"fastmail": "unsupported",
|
|
8580
|
+
"superhuman": "unknown"
|
|
7078
8581
|
},
|
|
7079
|
-
"
|
|
7080
|
-
"
|
|
8582
|
+
"png": {
|
|
8583
|
+
"gmail-web": "supported",
|
|
8584
|
+
"gmail-android": "supported",
|
|
8585
|
+
"gmail-ios": "supported",
|
|
8586
|
+
"outlook-web": "supported",
|
|
8587
|
+
"outlook-windows": "supported",
|
|
8588
|
+
"outlook-windows-legacy": "supported",
|
|
8589
|
+
"outlook-ios": "supported",
|
|
8590
|
+
"outlook-android": "supported",
|
|
8591
|
+
"outlook-macos": "supported",
|
|
8592
|
+
"apple-mail-macos": "supported",
|
|
8593
|
+
"apple-mail-ios": "supported",
|
|
8594
|
+
"yahoo-mail": "supported",
|
|
8595
|
+
"yahoo-mail-android": "supported",
|
|
8596
|
+
"yahoo-mail-ios": "supported",
|
|
8597
|
+
"samsung-mail": "supported",
|
|
8598
|
+
"thunderbird": "supported",
|
|
8599
|
+
"hey-mail": "supported",
|
|
8600
|
+
"protonmail": "supported",
|
|
8601
|
+
"aol": "supported",
|
|
8602
|
+
"fastmail": "supported",
|
|
8603
|
+
"superhuman": "unknown"
|
|
7081
8604
|
},
|
|
7082
|
-
"
|
|
7083
|
-
"gmail-
|
|
7084
|
-
"gmail-
|
|
7085
|
-
"
|
|
7086
|
-
"
|
|
7087
|
-
"
|
|
7088
|
-
"
|
|
8605
|
+
"svg": {
|
|
8606
|
+
"gmail-web": "unsupported",
|
|
8607
|
+
"gmail-android": "partial",
|
|
8608
|
+
"gmail-ios": "partial",
|
|
8609
|
+
"outlook-web": "supported",
|
|
8610
|
+
"outlook-windows": "supported",
|
|
8611
|
+
"outlook-windows-legacy": "supported",
|
|
8612
|
+
"outlook-ios": "supported",
|
|
8613
|
+
"outlook-android": "supported",
|
|
8614
|
+
"outlook-macos": "unsupported",
|
|
8615
|
+
"apple-mail-macos": "supported",
|
|
8616
|
+
"apple-mail-ios": "supported",
|
|
8617
|
+
"yahoo-mail": "supported",
|
|
8618
|
+
"yahoo-mail-android": "supported",
|
|
8619
|
+
"yahoo-mail-ios": "supported",
|
|
8620
|
+
"samsung-mail": "supported",
|
|
8621
|
+
"thunderbird": "supported",
|
|
8622
|
+
"hey-mail": "supported",
|
|
8623
|
+
"protonmail": "supported",
|
|
8624
|
+
"aol": "supported",
|
|
8625
|
+
"fastmail": "supported",
|
|
8626
|
+
"superhuman": "unknown"
|
|
7089
8627
|
},
|
|
7090
|
-
"
|
|
7091
|
-
"gmail-
|
|
7092
|
-
"gmail-
|
|
8628
|
+
"tiff": {
|
|
8629
|
+
"gmail-web": "partial",
|
|
8630
|
+
"gmail-android": "partial",
|
|
8631
|
+
"gmail-ios": "supported",
|
|
8632
|
+
"outlook-web": "unsupported",
|
|
8633
|
+
"outlook-windows": "unsupported",
|
|
8634
|
+
"outlook-windows-legacy": "supported",
|
|
8635
|
+
"outlook-ios": "supported",
|
|
8636
|
+
"outlook-android": "unsupported",
|
|
8637
|
+
"outlook-macos": "supported",
|
|
8638
|
+
"apple-mail-macos": "supported",
|
|
8639
|
+
"apple-mail-ios": "supported",
|
|
8640
|
+
"yahoo-mail": "unsupported",
|
|
8641
|
+
"yahoo-mail-android": "unsupported",
|
|
8642
|
+
"yahoo-mail-ios": "supported",
|
|
8643
|
+
"samsung-mail": "unsupported",
|
|
8644
|
+
"thunderbird": "unsupported",
|
|
8645
|
+
"hey-mail": "supported",
|
|
8646
|
+
"protonmail": "unsupported",
|
|
8647
|
+
"aol": "unsupported",
|
|
8648
|
+
"fastmail": "unsupported",
|
|
8649
|
+
"superhuman": "unknown"
|
|
7093
8650
|
},
|
|
7094
|
-
"
|
|
7095
|
-
"
|
|
7096
|
-
"
|
|
8651
|
+
"webp": {
|
|
8652
|
+
"gmail-web": "partial",
|
|
8653
|
+
"gmail-android": "partial",
|
|
8654
|
+
"gmail-ios": "partial",
|
|
8655
|
+
"outlook-web": "supported",
|
|
8656
|
+
"outlook-windows": "unsupported",
|
|
8657
|
+
"outlook-windows-legacy": "supported",
|
|
8658
|
+
"outlook-ios": "supported",
|
|
8659
|
+
"outlook-android": "supported",
|
|
8660
|
+
"outlook-macos": "unsupported",
|
|
8661
|
+
"apple-mail-macos": "supported",
|
|
8662
|
+
"apple-mail-ios": "supported",
|
|
8663
|
+
"yahoo-mail": "supported",
|
|
8664
|
+
"yahoo-mail-android": "supported",
|
|
8665
|
+
"yahoo-mail-ios": "supported",
|
|
8666
|
+
"samsung-mail": "supported",
|
|
8667
|
+
"thunderbird": "supported",
|
|
8668
|
+
"hey-mail": "supported",
|
|
8669
|
+
"protonmail": "supported",
|
|
8670
|
+
"aol": "supported",
|
|
8671
|
+
"fastmail": "supported",
|
|
8672
|
+
"superhuman": "unknown"
|
|
8673
|
+
}
|
|
8674
|
+
};
|
|
8675
|
+
var IMAGE_SUPPORT = IMAGE_SUPPORT_TABLE;
|
|
8676
|
+
var IMAGE_SUPPORT_NOTES = {
|
|
8677
|
+
"avif": {
|
|
8678
|
+
"gmail-web": ["Converts still AVIF into a jpg and animated AVIF into a gif."],
|
|
8679
|
+
"gmail-android": ["Converts still AVIF into a jpg and animated AVIF into a gif."],
|
|
8680
|
+
"gmail-ios": ["Converts still AVIF into a jpg and animated AVIF into a gif."],
|
|
8681
|
+
"outlook-web": ["Support depends on browser and operating system support."],
|
|
8682
|
+
"outlook-android": ["Support depends on browser and operating system support."],
|
|
8683
|
+
"yahoo-mail": ["Support depends on browser and operating system support."],
|
|
8684
|
+
"yahoo-mail-android": ["Support depends on browser and operating system support."],
|
|
8685
|
+
"thunderbird": ["Does not support animated AVIF."],
|
|
8686
|
+
"protonmail": ["Support depends on browser and operating system support."],
|
|
8687
|
+
"aol": ["Support depends on browser and operating system support."]
|
|
8688
|
+
},
|
|
8689
|
+
"base64": {
|
|
8690
|
+
"outlook-windows": ["Partial: Does not render Base 64 gif format."]
|
|
8691
|
+
},
|
|
8692
|
+
"bmp": {
|
|
8693
|
+
"gmail-web": ["Buggy. An image renders but the colours are incorrect."],
|
|
8694
|
+
"gmail-android": ["Buggy. An image renders but the colours are incorrect."]
|
|
8695
|
+
},
|
|
8696
|
+
"gif": {
|
|
8697
|
+
"outlook-windows": ["Partial: Does not support animated gif images.", "Partial: With an Office 365 account, it plays the animation 3 times then stops and shows a play button to reactivate the animation."]
|
|
8698
|
+
},
|
|
8699
|
+
"heif": {
|
|
8700
|
+
"gmail-web": ["Partial: Converts file to jpg."],
|
|
8701
|
+
"gmail-android": ["Partial: Converts file to jpg."],
|
|
8702
|
+
"gmail-ios": ["Partial: Converts file to jpg."],
|
|
8703
|
+
"apple-mail-macos": ["Supported on macOS 14 Sonoma."],
|
|
8704
|
+
"yahoo-mail": ["Partial. Webmail rendering depends on browser support."]
|
|
8705
|
+
},
|
|
8706
|
+
"mp4": {
|
|
8707
|
+
"outlook-web": ["Only supported in Safari."],
|
|
8708
|
+
"yahoo-mail": ["Only supported in Safari."]
|
|
8709
|
+
},
|
|
8710
|
+
"svg": {
|
|
8711
|
+
"gmail-android": ["Partially supported. Only works with non Google accounts."],
|
|
8712
|
+
"gmail-ios": ["Partially supported. Only works with non Google accounts."]
|
|
8713
|
+
},
|
|
8714
|
+
"tiff": {
|
|
8715
|
+
"gmail-web": ["Buggy. An image renders but the colours are incorrect."],
|
|
8716
|
+
"gmail-android": ["Buggy. An image renders but the colours are incorrect.", "Partial. Does not render with non Google accounts."]
|
|
8717
|
+
},
|
|
8718
|
+
"webp": {
|
|
8719
|
+
"gmail-web": ["Partial: Converts file to jpg.", "Partial. Does not support animation."],
|
|
8720
|
+
"gmail-android": ["Partial: Converts file to jpg.", "Partial. Does not support animation."],
|
|
8721
|
+
"gmail-ios": ["Partial: Converts file to jpg.", "Partial. Does not support animation."],
|
|
8722
|
+
"outlook-web": ["Partial. Webmail rendering depends on browser support."],
|
|
8723
|
+
"outlook-windows-legacy": ["Partial. Does not support animation."],
|
|
8724
|
+
"yahoo-mail": ["Partial. Webmail rendering depends on browser support."],
|
|
8725
|
+
"aol": ["Partial. Webmail rendering depends on browser support."]
|
|
7097
8726
|
}
|
|
7098
8727
|
};
|
|
7099
8728
|
var GMAIL_STRIPPED_PROPERTIES = /* @__PURE__ */ new Set([
|
|
@@ -7109,6 +8738,21 @@ var GMAIL_STRIPPED_PROPERTIES = /* @__PURE__ */ new Set([
|
|
|
7109
8738
|
"clip-path",
|
|
7110
8739
|
"backdrop-filter"
|
|
7111
8740
|
]);
|
|
8741
|
+
var GRACEFUL_FEATURES = /* @__PURE__ */ new Set([
|
|
8742
|
+
"doctype",
|
|
8743
|
+
"meta-color-scheme",
|
|
8744
|
+
"[target]",
|
|
8745
|
+
"[loading]",
|
|
8746
|
+
"[srcset]",
|
|
8747
|
+
"[role]",
|
|
8748
|
+
"[aria-describedby]",
|
|
8749
|
+
"[aria-hidden]",
|
|
8750
|
+
"[aria-label]",
|
|
8751
|
+
"[aria-labelledby]",
|
|
8752
|
+
"[aria-live]",
|
|
8753
|
+
"[lang]",
|
|
8754
|
+
"[dir]"
|
|
8755
|
+
]);
|
|
7112
8756
|
var OUTLOOK_WORD_UNSUPPORTED = /* @__PURE__ */ new Set([
|
|
7113
8757
|
"border-radius",
|
|
7114
8758
|
"box-shadow",
|
|
@@ -7167,6 +8811,8 @@ var HTML_ELEMENT_FEATURES = [
|
|
|
7167
8811
|
"<bdi>",
|
|
7168
8812
|
"<blockquote>",
|
|
7169
8813
|
"<body>",
|
|
8814
|
+
'<button type="reset">',
|
|
8815
|
+
'<button type="submit">',
|
|
7170
8816
|
"<code>",
|
|
7171
8817
|
"<del>",
|
|
7172
8818
|
"<dfn>",
|
|
@@ -7176,6 +8822,12 @@ var HTML_ELEMENT_FEATURES = [
|
|
|
7176
8822
|
"<h1>",
|
|
7177
8823
|
"<hr>",
|
|
7178
8824
|
"<img>",
|
|
8825
|
+
'<input type="checkbox">',
|
|
8826
|
+
'<input type="hidden">',
|
|
8827
|
+
'<input type="radio">',
|
|
8828
|
+
'<input type="reset">',
|
|
8829
|
+
'<input type="submit">',
|
|
8830
|
+
'<input type="text">',
|
|
7179
8831
|
"<link>",
|
|
7180
8832
|
"<marquee>",
|
|
7181
8833
|
"<meter>",
|
|
@@ -7200,14 +8852,58 @@ var HTML_ELEMENT_FEATURES = [
|
|
|
7200
8852
|
"<video>",
|
|
7201
8853
|
"<wbr>"
|
|
7202
8854
|
];
|
|
8855
|
+
var HTML_ATTRIBUTE_FEATURES = [
|
|
8856
|
+
"[align]",
|
|
8857
|
+
"[aria-describedby]",
|
|
8858
|
+
"[aria-hidden]",
|
|
8859
|
+
"[aria-label]",
|
|
8860
|
+
"[aria-labelledby]",
|
|
8861
|
+
"[aria-live]",
|
|
8862
|
+
"[background]",
|
|
8863
|
+
"[cellpadding]",
|
|
8864
|
+
"[cellspacing]",
|
|
8865
|
+
"[command]",
|
|
8866
|
+
"[dir]",
|
|
8867
|
+
"[height]",
|
|
8868
|
+
"[hidden]",
|
|
8869
|
+
"[lang]",
|
|
8870
|
+
"[loading]",
|
|
8871
|
+
"[popover]",
|
|
8872
|
+
"[required]",
|
|
8873
|
+
"[role]",
|
|
8874
|
+
"[srcset]",
|
|
8875
|
+
"[target]",
|
|
8876
|
+
"[valign]",
|
|
8877
|
+
"[width]"
|
|
8878
|
+
];
|
|
8879
|
+
var HTML_MISC_FEATURES = [
|
|
8880
|
+
"amp4email",
|
|
8881
|
+
"anchor-links",
|
|
8882
|
+
"doctype",
|
|
8883
|
+
"html-comments",
|
|
8884
|
+
"html5-semantics",
|
|
8885
|
+
"image-maps",
|
|
8886
|
+
"mailto-links",
|
|
8887
|
+
"meta-color-scheme"
|
|
8888
|
+
];
|
|
7203
8889
|
var AT_RULE_FEATURES = [
|
|
7204
8890
|
"@font-face",
|
|
7205
8891
|
"@import",
|
|
7206
8892
|
"@keyframes",
|
|
7207
8893
|
"@media",
|
|
8894
|
+
"@media device-pixel-ratio",
|
|
8895
|
+
"@media hover",
|
|
8896
|
+
"@media orientation",
|
|
8897
|
+
"@media prefers-color-scheme",
|
|
8898
|
+
"@media prefers-reduced-motion",
|
|
7208
8899
|
"@supports"
|
|
7209
8900
|
];
|
|
7210
8901
|
var COMPOUND_VALUE_FEATURES = [
|
|
8902
|
+
"display:flex",
|
|
8903
|
+
"display:grid",
|
|
8904
|
+
"display:none"
|
|
8905
|
+
];
|
|
8906
|
+
var SELECTOR_FEATURES = [
|
|
7211
8907
|
"::after",
|
|
7212
8908
|
"::before",
|
|
7213
8909
|
"::first-letter",
|
|
@@ -7244,10 +8940,7 @@ var COMPOUND_VALUE_FEATURES = [
|
|
|
7244
8940
|
":target",
|
|
7245
8941
|
":type-selector",
|
|
7246
8942
|
":universal-selector",
|
|
7247
|
-
":visited"
|
|
7248
|
-
"display:flex",
|
|
7249
|
-
"display:grid",
|
|
7250
|
-
"display:none"
|
|
8943
|
+
":visited"
|
|
7251
8944
|
];
|
|
7252
8945
|
var CSS_FUNCTION_FEATURES = [
|
|
7253
8946
|
"calc",
|
|
@@ -7259,6 +8952,482 @@ var CSS_FUNCTION_FEATURES = [
|
|
|
7259
8952
|
"min",
|
|
7260
8953
|
"radial-gradient"
|
|
7261
8954
|
];
|
|
8955
|
+
var CSS_PROPERTY_FEATURES = [
|
|
8956
|
+
"!important",
|
|
8957
|
+
"accent-color",
|
|
8958
|
+
"align-items",
|
|
8959
|
+
"animation",
|
|
8960
|
+
"aspect-ratio",
|
|
8961
|
+
"backdrop-filter",
|
|
8962
|
+
"background",
|
|
8963
|
+
"background-blend-mode",
|
|
8964
|
+
"background-clip",
|
|
8965
|
+
"background-color",
|
|
8966
|
+
"background-image",
|
|
8967
|
+
"background-origin",
|
|
8968
|
+
"background-position",
|
|
8969
|
+
"background-repeat",
|
|
8970
|
+
"background-size",
|
|
8971
|
+
"bimi",
|
|
8972
|
+
"block-size",
|
|
8973
|
+
"border",
|
|
8974
|
+
"border-collapse",
|
|
8975
|
+
"border-image",
|
|
8976
|
+
"border-inline",
|
|
8977
|
+
"border-inline-individual",
|
|
8978
|
+
"border-inline-longhand",
|
|
8979
|
+
"border-radius",
|
|
8980
|
+
"border-radius-logical",
|
|
8981
|
+
"border-spacing",
|
|
8982
|
+
"bottom",
|
|
8983
|
+
"box-shadow",
|
|
8984
|
+
"box-sizing",
|
|
8985
|
+
"caption-side",
|
|
8986
|
+
"clear",
|
|
8987
|
+
"clip-path",
|
|
8988
|
+
"color",
|
|
8989
|
+
"color-scheme",
|
|
8990
|
+
"column-count",
|
|
8991
|
+
"columns",
|
|
8992
|
+
"css-comments",
|
|
8993
|
+
"cursor",
|
|
8994
|
+
"custom-properties",
|
|
8995
|
+
"direction",
|
|
8996
|
+
"display",
|
|
8997
|
+
"empty-cells",
|
|
8998
|
+
"filter",
|
|
8999
|
+
"flex-direction",
|
|
9000
|
+
"flex-wrap",
|
|
9001
|
+
"float",
|
|
9002
|
+
"font",
|
|
9003
|
+
"font-family",
|
|
9004
|
+
"font-kerning",
|
|
9005
|
+
"font-size",
|
|
9006
|
+
"font-size-adjust",
|
|
9007
|
+
"font-stretch",
|
|
9008
|
+
"font-weight",
|
|
9009
|
+
"gap",
|
|
9010
|
+
"grid-template-columns",
|
|
9011
|
+
"height",
|
|
9012
|
+
"hyphenate-character",
|
|
9013
|
+
"hyphenate-limit-chars",
|
|
9014
|
+
"hyphens",
|
|
9015
|
+
"inert",
|
|
9016
|
+
"inline-size",
|
|
9017
|
+
"inset",
|
|
9018
|
+
"justify-content",
|
|
9019
|
+
"left",
|
|
9020
|
+
"letter-spacing",
|
|
9021
|
+
"light-dark",
|
|
9022
|
+
"line-height",
|
|
9023
|
+
"list-style",
|
|
9024
|
+
"list-style-image",
|
|
9025
|
+
"list-style-position",
|
|
9026
|
+
"list-style-type",
|
|
9027
|
+
"margin",
|
|
9028
|
+
"margin-block-start-end",
|
|
9029
|
+
"margin-inline-block",
|
|
9030
|
+
"margin-inline-start-end",
|
|
9031
|
+
"mask-image",
|
|
9032
|
+
"max-block-size",
|
|
9033
|
+
"max-height",
|
|
9034
|
+
"max-inline-size",
|
|
9035
|
+
"max-width",
|
|
9036
|
+
"min-block-size",
|
|
9037
|
+
"min-height",
|
|
9038
|
+
"min-inline-size",
|
|
9039
|
+
"min-width",
|
|
9040
|
+
"mix-blend-mode",
|
|
9041
|
+
"modern-color",
|
|
9042
|
+
"nesting",
|
|
9043
|
+
"object-fit",
|
|
9044
|
+
"object-position",
|
|
9045
|
+
"opacity",
|
|
9046
|
+
"orphans",
|
|
9047
|
+
"outline",
|
|
9048
|
+
"outline-offset",
|
|
9049
|
+
"overflow",
|
|
9050
|
+
"overflow-wrap",
|
|
9051
|
+
"padding",
|
|
9052
|
+
"padding-block-start-end",
|
|
9053
|
+
"padding-inline-block",
|
|
9054
|
+
"padding-inline-start-end",
|
|
9055
|
+
"position",
|
|
9056
|
+
"pseudo-class-active",
|
|
9057
|
+
"pseudo-class-default",
|
|
9058
|
+
"pseudo-class-nth-last-of-type",
|
|
9059
|
+
"resize",
|
|
9060
|
+
"rgb",
|
|
9061
|
+
"rgba",
|
|
9062
|
+
"right",
|
|
9063
|
+
"scroll-snap",
|
|
9064
|
+
"shape-margin",
|
|
9065
|
+
"shape-outside",
|
|
9066
|
+
"system-ui",
|
|
9067
|
+
"tab-size",
|
|
9068
|
+
"table-layout",
|
|
9069
|
+
"text-align",
|
|
9070
|
+
"text-align-last",
|
|
9071
|
+
"text-decoration",
|
|
9072
|
+
"text-decoration-color",
|
|
9073
|
+
"text-decoration-line",
|
|
9074
|
+
"text-decoration-skip-ink",
|
|
9075
|
+
"text-decoration-style",
|
|
9076
|
+
"text-decoration-thickness",
|
|
9077
|
+
"text-emphasis",
|
|
9078
|
+
"text-emphasis-position",
|
|
9079
|
+
"text-indent",
|
|
9080
|
+
"text-justify",
|
|
9081
|
+
"text-orientation",
|
|
9082
|
+
"text-overflow",
|
|
9083
|
+
"text-shadow",
|
|
9084
|
+
"text-transform",
|
|
9085
|
+
"text-underline-offset",
|
|
9086
|
+
"text-underline-position",
|
|
9087
|
+
"text-wrap",
|
|
9088
|
+
"top",
|
|
9089
|
+
"transform",
|
|
9090
|
+
"transition",
|
|
9091
|
+
"unit-ch",
|
|
9092
|
+
"unit-cm",
|
|
9093
|
+
"unit-em",
|
|
9094
|
+
"unit-ex",
|
|
9095
|
+
"unit-in",
|
|
9096
|
+
"unit-initial",
|
|
9097
|
+
"unit-mm",
|
|
9098
|
+
"unit-pc",
|
|
9099
|
+
"unit-percent",
|
|
9100
|
+
"unit-pt",
|
|
9101
|
+
"unit-px",
|
|
9102
|
+
"unit-rem",
|
|
9103
|
+
"unit-vh",
|
|
9104
|
+
"unit-vmax",
|
|
9105
|
+
"unit-vmin",
|
|
9106
|
+
"unit-vw",
|
|
9107
|
+
"user-select",
|
|
9108
|
+
"vertical-align",
|
|
9109
|
+
"visibility",
|
|
9110
|
+
"white-space",
|
|
9111
|
+
"white-space-collapse",
|
|
9112
|
+
"widows",
|
|
9113
|
+
"width",
|
|
9114
|
+
"word-break",
|
|
9115
|
+
"word-spacing",
|
|
9116
|
+
"writing-mode",
|
|
9117
|
+
"z-index"
|
|
9118
|
+
];
|
|
9119
|
+
var FEATURE_LAST_TESTED = {
|
|
9120
|
+
"<abbr>": "2023-09-13",
|
|
9121
|
+
"<acronym>": "2024-01-03",
|
|
9122
|
+
"<address>": "2021-01-17",
|
|
9123
|
+
"<audio>": "2020-04-21",
|
|
9124
|
+
"<base>": "2021-12-01",
|
|
9125
|
+
"<bdi>": "2019-02-28",
|
|
9126
|
+
"<blockquote>": "2020-05-08",
|
|
9127
|
+
"<body>": "2021-11-30",
|
|
9128
|
+
'<button type="reset">': "2019-09-10",
|
|
9129
|
+
'<button type="submit">': "2019-09-10",
|
|
9130
|
+
"<code>": "2023-04-25",
|
|
9131
|
+
"<del>": "2019-02-28",
|
|
9132
|
+
"<dfn>": "2023-09-11",
|
|
9133
|
+
"<dialog>": "2019-02-28",
|
|
9134
|
+
"<div>": "2020-05-08",
|
|
9135
|
+
"<form>": "2019-09-10",
|
|
9136
|
+
"<h1>": "2020-05-08",
|
|
9137
|
+
"<hr>": "2023-09-08",
|
|
9138
|
+
"<img>": "2023-12-16",
|
|
9139
|
+
'<input type="checkbox">': "2019-09-10",
|
|
9140
|
+
'<input type="hidden">': "2019-09-10",
|
|
9141
|
+
'<input type="radio">': "2019-09-10",
|
|
9142
|
+
'<input type="reset">': "2019-09-10",
|
|
9143
|
+
'<input type="submit">': "2019-09-10",
|
|
9144
|
+
'<input type="text">': "2019-09-10",
|
|
9145
|
+
"<link>": "2023-12-21",
|
|
9146
|
+
"<marquee>": "2020-04-21",
|
|
9147
|
+
"<meter>": "2019-02-28",
|
|
9148
|
+
"<object>": "2021-02-20",
|
|
9149
|
+
"<p>": "2020-05-08",
|
|
9150
|
+
"<picture>": "2024-04-15",
|
|
9151
|
+
"<pre>": "2023-04-25",
|
|
9152
|
+
"<progress>": "2019-02-28",
|
|
9153
|
+
"<rp>": "2019-02-28",
|
|
9154
|
+
"<rt>": "2019-02-28",
|
|
9155
|
+
"<ruby>": "2019-02-28",
|
|
9156
|
+
"<select>": "2019-09-10",
|
|
9157
|
+
"<small>": "2021-11-13",
|
|
9158
|
+
"<span>": "2020-05-08",
|
|
9159
|
+
"<strike>": "2019-02-28",
|
|
9160
|
+
"<strong>": "2020-05-08",
|
|
9161
|
+
"<style>": "2023-07-27",
|
|
9162
|
+
"<svg>": "2020-02-06",
|
|
9163
|
+
"<table>": "2019-09-15",
|
|
9164
|
+
"<textarea>": "2019-09-10",
|
|
9165
|
+
"<ul>": "2024-02-17",
|
|
9166
|
+
"<video>": "2019-09-16",
|
|
9167
|
+
"<wbr>": "2019-02-28",
|
|
9168
|
+
"[align]": "2021-11-10",
|
|
9169
|
+
"[aria-describedby]": "2019-02-28",
|
|
9170
|
+
"[aria-hidden]": "2019-02-28",
|
|
9171
|
+
"[aria-label]": "2019-02-28",
|
|
9172
|
+
"[aria-labelledby]": "2022-04-08",
|
|
9173
|
+
"[aria-live]": "2019-02-28",
|
|
9174
|
+
"[background]": "2019-02-28",
|
|
9175
|
+
"[cellpadding]": "2024-05-01",
|
|
9176
|
+
"[cellspacing]": "2024-05-01",
|
|
9177
|
+
"[command]": "2026-07-13",
|
|
9178
|
+
"[dir]": "2021-11-01",
|
|
9179
|
+
"[height]": "2019-09-27",
|
|
9180
|
+
"[hidden]": "2024-01-26",
|
|
9181
|
+
"[lang]": "2020-10-25",
|
|
9182
|
+
"[loading]": "2021-10-27",
|
|
9183
|
+
"[popover]": "2026-07-13",
|
|
9184
|
+
"[required]": "2019-09-10",
|
|
9185
|
+
"[role]": "2020-02-04",
|
|
9186
|
+
"[srcset]": "2019-05-29",
|
|
9187
|
+
"[target]": "2021-12-28",
|
|
9188
|
+
"[valign]": "2020-12-21",
|
|
9189
|
+
"[width]": "2019-09-27",
|
|
9190
|
+
"@font-face": "2023-12-19",
|
|
9191
|
+
"@import": "2019-02-28",
|
|
9192
|
+
"@keyframes": "2021-05-25",
|
|
9193
|
+
"@media": "2023-12-13",
|
|
9194
|
+
"@media device-pixel-ratio": "2019-08-20",
|
|
9195
|
+
"@media hover": "2022-08-29",
|
|
9196
|
+
"@media orientation": "2019-08-20",
|
|
9197
|
+
"@media prefers-color-scheme": "2023-03-08",
|
|
9198
|
+
"@media prefers-reduced-motion": "2021-02-20",
|
|
9199
|
+
"@supports": "2020-05-25",
|
|
9200
|
+
"!important": "2021-11-30",
|
|
9201
|
+
"accent-color": "2023-12-19",
|
|
9202
|
+
"align-items": "2023-12-19",
|
|
9203
|
+
"amp4email": "2020-03-31",
|
|
9204
|
+
"anchor-links": "2019-08-08",
|
|
9205
|
+
"animation": "2026-04-07",
|
|
9206
|
+
"aspect-ratio": "2023-12-19",
|
|
9207
|
+
"backdrop-filter": "2024-01-17",
|
|
9208
|
+
"background": "2023-07-24",
|
|
9209
|
+
"background-blend-mode": "2019-02-28",
|
|
9210
|
+
"background-clip": "2019-02-28",
|
|
9211
|
+
"background-color": "2019-02-28",
|
|
9212
|
+
"background-image": "2023-07-24",
|
|
9213
|
+
"background-origin": "2019-02-28",
|
|
9214
|
+
"background-position": "2019-02-28",
|
|
9215
|
+
"background-repeat": "2019-02-28",
|
|
9216
|
+
"background-size": "2019-02-28",
|
|
9217
|
+
"bimi": "2022-12-29",
|
|
9218
|
+
"block-size": "2022-07-14",
|
|
9219
|
+
"border": "2021-07-22",
|
|
9220
|
+
"border-collapse": "2023-12-20",
|
|
9221
|
+
"border-image": "2019-02-28",
|
|
9222
|
+
"border-inline": "2022-07-13",
|
|
9223
|
+
"border-inline-individual": "2022-07-14",
|
|
9224
|
+
"border-inline-longhand": "2022-07-14",
|
|
9225
|
+
"border-radius": "2021-03-09",
|
|
9226
|
+
"border-radius-logical": "2022-08-16",
|
|
9227
|
+
"border-spacing": "2023-12-20",
|
|
9228
|
+
"bottom": "2021-05-16",
|
|
9229
|
+
"box-shadow": "2023-12-20",
|
|
9230
|
+
"box-sizing": "2019-02-28",
|
|
9231
|
+
"calc": "2020-02-25",
|
|
9232
|
+
"caption-side": "2021-05-13",
|
|
9233
|
+
"clamp": "2021-05-07",
|
|
9234
|
+
"clear": "2024-09-06",
|
|
9235
|
+
"clip-path": "2021-03-09",
|
|
9236
|
+
"color-scheme": "2023-09-18",
|
|
9237
|
+
"column-count": "2019-02-28",
|
|
9238
|
+
"columns": "2022-08-02",
|
|
9239
|
+
"conic-gradient": "2023-01-02",
|
|
9240
|
+
"css-comments": "2024-04-25",
|
|
9241
|
+
"cursor": "2025-07-02",
|
|
9242
|
+
"custom-properties": "2020-02-25",
|
|
9243
|
+
"direction": "2021-10-05",
|
|
9244
|
+
"display": "2021-12-01",
|
|
9245
|
+
"doctype": "2019-07-25",
|
|
9246
|
+
"empty-cells": "2024-08-23",
|
|
9247
|
+
"filter": "2024-01-03",
|
|
9248
|
+
"fit-content": "2022-12-31",
|
|
9249
|
+
"flex-direction": "2023-01-17",
|
|
9250
|
+
"flex-wrap": "2023-01-16",
|
|
9251
|
+
"float": "2024-05-08",
|
|
9252
|
+
"font": "2019-02-28",
|
|
9253
|
+
"font-kerning": "2022-08-01",
|
|
9254
|
+
"font-size": "2024-02-28",
|
|
9255
|
+
"font-size-adjust": "2026-04-16",
|
|
9256
|
+
"font-stretch": "2023-09-23",
|
|
9257
|
+
"font-weight": "2022-06-23",
|
|
9258
|
+
"gap": "2022-12-28",
|
|
9259
|
+
"grid-template-columns": "2023-01-09",
|
|
9260
|
+
"height": "2019-09-27",
|
|
9261
|
+
"html-comments": "2024-05-01",
|
|
9262
|
+
"html5-semantics": "2019-07-29",
|
|
9263
|
+
"hyphenate-character": "2024-06-19",
|
|
9264
|
+
"hyphenate-limit-chars": "2024-08-08",
|
|
9265
|
+
"hyphens": "2022-08-03",
|
|
9266
|
+
"image-maps": "2021-09-29",
|
|
9267
|
+
"inert": "2026-04-16",
|
|
9268
|
+
"inline-size": "2019-02-28",
|
|
9269
|
+
"inset": "2024-05-29",
|
|
9270
|
+
"justify-content": "2021-03-09",
|
|
9271
|
+
"left": "2021-05-16",
|
|
9272
|
+
"letter-spacing": "2020-01-19",
|
|
9273
|
+
"light-dark": "2024-08-14",
|
|
9274
|
+
"line-height": "2021-10-02",
|
|
9275
|
+
"linear-gradient": "2021-12-29",
|
|
9276
|
+
"list-style": "2020-04-20",
|
|
9277
|
+
"list-style-image": "2020-04-20",
|
|
9278
|
+
"list-style-position": "2020-04-20",
|
|
9279
|
+
"list-style-type": "2020-04-20",
|
|
9280
|
+
"mailto-links": "2021-05-20",
|
|
9281
|
+
"margin": "2019-10-01",
|
|
9282
|
+
"margin-block-start-end": "2022-07-13",
|
|
9283
|
+
"margin-inline-block": "2022-07-12",
|
|
9284
|
+
"margin-inline-start-end": "2022-07-13",
|
|
9285
|
+
"mask-image": "2024-11-27",
|
|
9286
|
+
"max": "2021-05-07",
|
|
9287
|
+
"max-block-size": "2022-09-01",
|
|
9288
|
+
"max-height": "2021-11-29",
|
|
9289
|
+
"max-inline-size": "2024-05-31",
|
|
9290
|
+
"max-width": "2019-08-02",
|
|
9291
|
+
"meta-color-scheme": "2023-09-18",
|
|
9292
|
+
"min": "2021-05-07",
|
|
9293
|
+
"min-block-size": "2024-05-31",
|
|
9294
|
+
"min-height": "2021-11-29",
|
|
9295
|
+
"min-inline-size": "2022-08-30",
|
|
9296
|
+
"min-width": "2021-11-29",
|
|
9297
|
+
"mix-blend-mode": "2020-12-12",
|
|
9298
|
+
"modern-color": "2023-01-18",
|
|
9299
|
+
"nesting": "2023-08-31",
|
|
9300
|
+
"object-fit": "2021-07-15",
|
|
9301
|
+
"object-position": "2021-07-15",
|
|
9302
|
+
"opacity": "2019-02-28",
|
|
9303
|
+
"orphans": "2024-06-13",
|
|
9304
|
+
"outline": "2022-03-17",
|
|
9305
|
+
"outline-offset": "2022-12-26",
|
|
9306
|
+
"overflow": "2025-05-27",
|
|
9307
|
+
"overflow-wrap": "2022-08-03",
|
|
9308
|
+
"padding": "2019-07-25",
|
|
9309
|
+
"padding-block-start-end": "2022-07-13",
|
|
9310
|
+
"padding-inline-block": "2022-07-13",
|
|
9311
|
+
"padding-inline-start-end": "2022-07-13",
|
|
9312
|
+
"position": "2021-05-16",
|
|
9313
|
+
"pseudo-class-active": "2019-10-28",
|
|
9314
|
+
"pseudo-class-default": "2026-02-05",
|
|
9315
|
+
"pseudo-class-nth-last-of-type": "2019-10-19",
|
|
9316
|
+
"radial-gradient": "2021-12-29",
|
|
9317
|
+
"resize": "2024-01-17",
|
|
9318
|
+
"rgb": "2021-05-14",
|
|
9319
|
+
"rgba": "2021-05-14",
|
|
9320
|
+
"right": "2021-05-16",
|
|
9321
|
+
"scroll-snap": "2023-02-27",
|
|
9322
|
+
"shape-margin": "2024-03-13",
|
|
9323
|
+
"shape-outside": "2024-02-28",
|
|
9324
|
+
"system-ui": "2022-12-30",
|
|
9325
|
+
"tab-size": "2022-07-21",
|
|
9326
|
+
"table-layout": "2022-07-20",
|
|
9327
|
+
"text-align": "2025-11-14",
|
|
9328
|
+
"text-align-last": "2022-08-31",
|
|
9329
|
+
"text-decoration": "2019-02-28",
|
|
9330
|
+
"text-decoration-color": "2020-04-30",
|
|
9331
|
+
"text-decoration-line": "2023-12-06",
|
|
9332
|
+
"text-decoration-skip-ink": "2023-12-08",
|
|
9333
|
+
"text-decoration-style": "2023-12-06",
|
|
9334
|
+
"text-decoration-thickness": "2023-01-16",
|
|
9335
|
+
"text-emphasis": "2022-07-07",
|
|
9336
|
+
"text-emphasis-position": "2022-07-07",
|
|
9337
|
+
"text-indent": "2021-01-31",
|
|
9338
|
+
"text-justify": "2024-04-17",
|
|
9339
|
+
"text-orientation": "2023-12-08",
|
|
9340
|
+
"text-overflow": "2019-02-28",
|
|
9341
|
+
"text-shadow": "2019-02-28",
|
|
9342
|
+
"text-transform": "2021-09-19",
|
|
9343
|
+
"text-underline-offset": "2023-01-16",
|
|
9344
|
+
"text-underline-position": "2023-12-08",
|
|
9345
|
+
"text-wrap": "2024-04-03",
|
|
9346
|
+
"top": "2021-05-16",
|
|
9347
|
+
"transform": "2019-02-28",
|
|
9348
|
+
"transition": "2024-03-29",
|
|
9349
|
+
"unit-ch": "2020-02-25",
|
|
9350
|
+
"unit-cm": "2020-02-25",
|
|
9351
|
+
"unit-em": "2020-02-25",
|
|
9352
|
+
"unit-ex": "2020-02-25",
|
|
9353
|
+
"unit-in": "2020-02-25",
|
|
9354
|
+
"unit-initial": "2020-02-25",
|
|
9355
|
+
"unit-mm": "2020-02-25",
|
|
9356
|
+
"unit-pc": "2020-02-25",
|
|
9357
|
+
"unit-percent": "2020-02-25",
|
|
9358
|
+
"unit-pt": "2020-02-25",
|
|
9359
|
+
"unit-px": "2020-02-25",
|
|
9360
|
+
"unit-rem": "2020-02-25",
|
|
9361
|
+
"unit-vh": "2023-10-01",
|
|
9362
|
+
"unit-vmax": "2020-02-25",
|
|
9363
|
+
"unit-vmin": "2020-02-25",
|
|
9364
|
+
"unit-vw": "2020-02-25",
|
|
9365
|
+
"user-select": "2024-02-14",
|
|
9366
|
+
"vertical-align": "2020-12-21",
|
|
9367
|
+
"visibility": "2019-02-28",
|
|
9368
|
+
"white-space": "2019-02-28",
|
|
9369
|
+
"white-space-collapse": "2024-09-04",
|
|
9370
|
+
"widows": "2024-05-03",
|
|
9371
|
+
"width": "2019-09-27",
|
|
9372
|
+
"word-break": "2022-02-15",
|
|
9373
|
+
"word-spacing": "2024-03-13",
|
|
9374
|
+
"writing-mode": "2022-05-04",
|
|
9375
|
+
"z-index": "2021-05-16",
|
|
9376
|
+
"::after": "2020-05-21",
|
|
9377
|
+
"::before": "2020-05-21",
|
|
9378
|
+
"::first-letter": "2020-05-21",
|
|
9379
|
+
"::first-line": "2020-05-21",
|
|
9380
|
+
"::marker": "2022-12-28",
|
|
9381
|
+
"::placeholder": "2020-05-21",
|
|
9382
|
+
":adjacent-sibling": "2020-03-11",
|
|
9383
|
+
":attribute-selector": "2020-12-15",
|
|
9384
|
+
":chaining": "2019-10-13",
|
|
9385
|
+
":checked": "2020-03-10",
|
|
9386
|
+
":child-combinator": "2019-10-13",
|
|
9387
|
+
":class-selector": "2019-10-13",
|
|
9388
|
+
":descendant-combinator": "2019-10-13",
|
|
9389
|
+
":first-child": "2019-10-16",
|
|
9390
|
+
":first-of-type": "2019-10-16",
|
|
9391
|
+
":focus": "2019-10-28",
|
|
9392
|
+
":focus-visible": "2026-04-14",
|
|
9393
|
+
":focus-within": "2026-04-14",
|
|
9394
|
+
":general-sibling": "2020-03-11",
|
|
9395
|
+
":grouping": "2019-10-13",
|
|
9396
|
+
":has": "2022-03-15",
|
|
9397
|
+
":hover": "2019-10-23",
|
|
9398
|
+
":id-selector": "2019-10-13",
|
|
9399
|
+
":lang": "2022-07-12",
|
|
9400
|
+
":last-child": "2019-10-19",
|
|
9401
|
+
":last-of-type": "2019-10-19",
|
|
9402
|
+
":link": "2019-10-23",
|
|
9403
|
+
":not": "2019-10-23",
|
|
9404
|
+
":nth-child": "2019-10-19",
|
|
9405
|
+
":nth-last-child": "2019-10-19",
|
|
9406
|
+
":nth-of-type": "2019-10-19",
|
|
9407
|
+
":only-child": "2019-10-19",
|
|
9408
|
+
":only-of-type": "2019-10-19",
|
|
9409
|
+
":target": "2019-10-28",
|
|
9410
|
+
":type-selector": "2019-10-13",
|
|
9411
|
+
":universal-selector": "2019-10-13",
|
|
9412
|
+
":visited": "2019-10-28",
|
|
9413
|
+
"display:flex": "2021-11-02",
|
|
9414
|
+
"display:grid": "2019-02-28",
|
|
9415
|
+
"display:none": "2019-02-28",
|
|
9416
|
+
"apng": "2020-02-06",
|
|
9417
|
+
"avif": "2023-01-14",
|
|
9418
|
+
"base64": "2020-02-06",
|
|
9419
|
+
"bmp": "2020-02-06",
|
|
9420
|
+
"gif": "2020-02-06",
|
|
9421
|
+
"hdr": "2020-02-06",
|
|
9422
|
+
"heif": "2020-02-06",
|
|
9423
|
+
"ico": "2020-02-06",
|
|
9424
|
+
"jpg": "2020-02-06",
|
|
9425
|
+
"mp4": "2021-05-13",
|
|
9426
|
+
"png": "2020-02-06",
|
|
9427
|
+
"svg": "2023-01-15",
|
|
9428
|
+
"tiff": "2020-02-06",
|
|
9429
|
+
"webp": "2021-02-06"
|
|
9430
|
+
};
|
|
7262
9431
|
|
|
7263
9432
|
// src/fix-snippets/html-fixes.ts
|
|
7264
9433
|
var HTML_FIX_DATABASE = {
|
|
@@ -8935,6 +11104,11 @@ function getClientPrefix(clientId) {
|
|
|
8935
11104
|
if (clientId === "samsung-mail") return "samsung";
|
|
8936
11105
|
return null;
|
|
8937
11106
|
}
|
|
11107
|
+
function describeFeature(property) {
|
|
11108
|
+
if (property.startsWith("[")) return `The ${property.slice(1, -1)} attribute`;
|
|
11109
|
+
if (property.startsWith("<") || property.startsWith("@")) return `\`${property}\``;
|
|
11110
|
+
return `"${property}"`;
|
|
11111
|
+
}
|
|
8938
11112
|
function getSuggestion(property, clientId, framework) {
|
|
8939
11113
|
const clientPrefix = getClientPrefix(clientId);
|
|
8940
11114
|
if (framework && clientPrefix) {
|
|
@@ -8952,7 +11126,7 @@ function getSuggestion(property, clientId, framework) {
|
|
|
8952
11126
|
const tier4 = SUGGESTION_DATABASE[property];
|
|
8953
11127
|
if (tier4) return { text: tier4, isGenericFallback: !!framework };
|
|
8954
11128
|
return {
|
|
8955
|
-
text:
|
|
11129
|
+
text: `${describeFeature(property)} is not supported in this email client.`,
|
|
8956
11130
|
isGenericFallback: !!framework
|
|
8957
11131
|
};
|
|
8958
11132
|
}
|
|
@@ -9068,10 +11242,6 @@ function splitTopLevel(value) {
|
|
|
9068
11242
|
return parts;
|
|
9069
11243
|
}
|
|
9070
11244
|
|
|
9071
|
-
// src/downlevel.ts
|
|
9072
|
-
var cheerio = __toESM(require("cheerio"), 1);
|
|
9073
|
-
var csstree = __toESM(require("css-tree"), 1);
|
|
9074
|
-
|
|
9075
11245
|
// src/color-utils.ts
|
|
9076
11246
|
var NAMED_COLORS = {
|
|
9077
11247
|
aliceblue: [240, 248, 255],
|
|
@@ -9509,6 +11679,8 @@ function colorDistance(a, b) {
|
|
|
9509
11679
|
}
|
|
9510
11680
|
|
|
9511
11681
|
// src/downlevel.ts
|
|
11682
|
+
var cheerio = __toESM(require("cheerio"), 1);
|
|
11683
|
+
var csstree = __toESM(require("css-tree"), 1);
|
|
9512
11684
|
var LOGICAL_PROPERTY_MAP = {
|
|
9513
11685
|
"padding-inline": ["padding-left", "padding-right"],
|
|
9514
11686
|
"padding-block": ["padding-top", "padding-bottom"],
|
|
@@ -10407,13 +12579,17 @@ var CLIENT_CONFIGS = {
|
|
|
10407
12579
|
strippedProperties: OUTLOOK_WORD_UNSUPPORTED,
|
|
10408
12580
|
stripMode: "strip",
|
|
10409
12581
|
valueStrips: [
|
|
10410
|
-
|
|
10411
|
-
|
|
12582
|
+
// Gradients and image URLs alike: the Word engine paints neither. Only
|
|
12583
|
+
// VML does, and vmlToCss runs after this pass, so a hero built the
|
|
12584
|
+
// bulletproof way keeps the background this strip would otherwise take.
|
|
12585
|
+
{ prop: "background", pattern: /linear-gradient|radial-gradient|url\(/ },
|
|
12586
|
+
{ prop: "background-image", pattern: /linear-gradient|radial-gradient|url\(/ }
|
|
10412
12587
|
],
|
|
10413
12588
|
inlineAndStripStyles: false,
|
|
10414
12589
|
stripExternalStylesheets: false,
|
|
10415
12590
|
stripForms: false,
|
|
10416
12591
|
stripSvg: false,
|
|
12592
|
+
stripBackgroundAttribute: true,
|
|
10417
12593
|
additionalChecks: outlookWindowsAdditionalChecks
|
|
10418
12594
|
},
|
|
10419
12595
|
"outlook-web": {
|
|
@@ -10634,6 +12810,11 @@ function applyTransform(html, config, framework) {
|
|
|
10634
12810
|
$(el).replaceWith('<img alt="[SVG not supported]" />');
|
|
10635
12811
|
});
|
|
10636
12812
|
}
|
|
12813
|
+
if (config.stripBackgroundAttribute) {
|
|
12814
|
+
$("[background]").each((_, el) => {
|
|
12815
|
+
$(el).removeAttr("background");
|
|
12816
|
+
});
|
|
12817
|
+
}
|
|
10637
12818
|
if (config.strippedProperties.size > 0 || config.valueStrips && config.valueStrips.length > 0) {
|
|
10638
12819
|
$("[style]").each((_, el) => {
|
|
10639
12820
|
const style = $(el).attr("style") || "";
|
|
@@ -10658,7 +12839,9 @@ function applyTransform(html, config, framework) {
|
|
|
10658
12839
|
for (const vs of (_a = config.valueStrips) != null ? _a : []) {
|
|
10659
12840
|
if (prop === vs.prop && vs.pattern.test(value)) {
|
|
10660
12841
|
removed.push(prop);
|
|
10661
|
-
|
|
12842
|
+
const fallback = prop === "background" ? backgroundShorthandColor(value) : null;
|
|
12843
|
+
if (fallback) props.set(prop, fallback);
|
|
12844
|
+
else props.delete(prop);
|
|
10662
12845
|
return;
|
|
10663
12846
|
}
|
|
10664
12847
|
}
|
|
@@ -10938,6 +13121,7 @@ function triggers(prop, value, note, noteLc) {
|
|
|
10938
13121
|
if (noteLc.includes("multiple values")) {
|
|
10939
13122
|
return topLevelSplit(value, ",").length > 1 || topLevelSplit(value, "/").length > 1;
|
|
10940
13123
|
}
|
|
13124
|
+
if (noteLc.includes("shorthand")) return topLevelSplit(value, "/").length > 1;
|
|
10941
13125
|
return true;
|
|
10942
13126
|
}
|
|
10943
13127
|
case "letter-spacing": {
|
|
@@ -11652,8 +13836,34 @@ var HTML_ELEMENT_SELECTORS = {
|
|
|
11652
13836
|
"<textarea>": "textarea",
|
|
11653
13837
|
"<marquee>": "marquee",
|
|
11654
13838
|
"<object>": "object",
|
|
11655
|
-
"<base>": "base"
|
|
13839
|
+
"<base>": "base",
|
|
13840
|
+
// Every email has a <body>, so grading its presence would put the same nine
|
|
13841
|
+
// warnings on every report forever, which is a constant rather than a
|
|
13842
|
+
// finding. What these clients actually drop is the styling on it: they
|
|
13843
|
+
// rewrite <body> into a <div>, or hoist its content out. So look for a body
|
|
13844
|
+
// that carries something to lose.
|
|
13845
|
+
"<body>": "body[style], body[bgcolor], body[background], body[class], body[id]",
|
|
13846
|
+
'<input type="checkbox">': "input[type='checkbox']",
|
|
13847
|
+
'<input type="hidden">': "input[type='hidden']",
|
|
13848
|
+
'<input type="radio">': "input[type='radio']",
|
|
13849
|
+
'<input type="reset">': "input[type='reset']",
|
|
13850
|
+
'<input type="submit">': "input[type='submit']",
|
|
13851
|
+
'<input type="text">': "input[type='text']",
|
|
13852
|
+
'<button type="reset">': "button[type='reset']",
|
|
13853
|
+
'<button type="submit">': "button[type='submit']"
|
|
11656
13854
|
};
|
|
13855
|
+
function htmlElementSelector(feature) {
|
|
13856
|
+
var _a;
|
|
13857
|
+
const explicit = HTML_ELEMENT_SELECTORS[feature];
|
|
13858
|
+
if (explicit) return explicit;
|
|
13859
|
+
const tag = (_a = /^<([a-z][a-z0-9]*)>$/.exec(feature)) == null ? void 0 : _a[1];
|
|
13860
|
+
return tag;
|
|
13861
|
+
}
|
|
13862
|
+
function isActionable(feature) {
|
|
13863
|
+
const row = CSS_SUPPORT[feature];
|
|
13864
|
+
if (!row) return false;
|
|
13865
|
+
return Object.values(row).some((l) => l === "unsupported" || l === "partial");
|
|
13866
|
+
}
|
|
11657
13867
|
var HTML_ELEMENT_SEVERITY = {
|
|
11658
13868
|
"<style>": "error",
|
|
11659
13869
|
"<link>": "error",
|
|
@@ -11688,6 +13898,41 @@ var CSS_FUNCTION_DETECTORS = CSS_FUNCTION_FEATURES.map((fn) => ({
|
|
|
11688
13898
|
pattern: `${fn}(`
|
|
11689
13899
|
// require opening paren, matches "min(" but not "Minion"
|
|
11690
13900
|
}));
|
|
13901
|
+
var CSS_PROPERTY_SET = new Set(CSS_PROPERTY_FEATURES);
|
|
13902
|
+
var MEDIA_FEATURE_DETECTORS = [
|
|
13903
|
+
["@media prefers-color-scheme", /prefers-color-scheme/],
|
|
13904
|
+
["@media prefers-reduced-motion", /prefers-reduced-motion/],
|
|
13905
|
+
// `(hover: hover)`, never the `:hover` pseudo-class.
|
|
13906
|
+
["@media hover", /\(\s*(?:any-)?hover\s*[:)]/],
|
|
13907
|
+
["@media orientation", /\borientation\s*:/],
|
|
13908
|
+
["@media device-pixel-ratio", /device-pixel-ratio|\bresolution\s*:/]
|
|
13909
|
+
];
|
|
13910
|
+
var HTML_MISC_SELECTORS = {
|
|
13911
|
+
// `href="#"` is a placeholder for a link nobody has written yet, not a
|
|
13912
|
+
// local anchor, and it is all over half-built templates.
|
|
13913
|
+
"anchor-links": 'a[href^="#"]:not([href="#"])',
|
|
13914
|
+
"mailto-links": 'a[href^="mailto:"]',
|
|
13915
|
+
"image-maps": "map, area",
|
|
13916
|
+
"meta-color-scheme": 'meta[name="color-scheme"]',
|
|
13917
|
+
"html5-semantics": "article, aside, figcaption, figure, footer, header, main, nav, section"
|
|
13918
|
+
};
|
|
13919
|
+
var MISC_FEATURE_LABELS = {
|
|
13920
|
+
"amp4email": "AMP for Email",
|
|
13921
|
+
"anchor-links": "local anchor links",
|
|
13922
|
+
"doctype": "the HTML5 doctype",
|
|
13923
|
+
"html-comments": "HTML comments",
|
|
13924
|
+
"html5-semantics": "HTML5 semantic elements",
|
|
13925
|
+
"image-maps": "image maps",
|
|
13926
|
+
"mailto-links": "mailto: links",
|
|
13927
|
+
"meta-color-scheme": "the color-scheme meta tag"
|
|
13928
|
+
};
|
|
13929
|
+
var MISC_LABEL_LOOKUP = MISC_FEATURE_LABELS;
|
|
13930
|
+
function featureLabel(prop) {
|
|
13931
|
+
const misc = MISC_LABEL_LOOKUP[prop];
|
|
13932
|
+
if (misc) return misc;
|
|
13933
|
+
if (prop.startsWith("[")) return `the ${prop.slice(1, -1)} attribute`;
|
|
13934
|
+
return `"${prop}"`;
|
|
13935
|
+
}
|
|
11691
13936
|
function analyzeEmailFromDom($, framework, source) {
|
|
11692
13937
|
const warnings = [];
|
|
11693
13938
|
const seenWarnings = /* @__PURE__ */ new Map();
|
|
@@ -11722,7 +13967,8 @@ function analyzeEmailFromDom($, framework, source) {
|
|
|
11722
13967
|
return tag;
|
|
11723
13968
|
}
|
|
11724
13969
|
for (const feature of HTML_ELEMENT_FEATURES) {
|
|
11725
|
-
|
|
13970
|
+
if (!isActionable(feature)) continue;
|
|
13971
|
+
const selector = htmlElementSelector(feature);
|
|
11726
13972
|
if (!selector) continue;
|
|
11727
13973
|
const matches = $(selector);
|
|
11728
13974
|
if (matches.length === 0) continue;
|
|
@@ -11765,6 +14011,42 @@ function analyzeEmailFromDom($, framework, source) {
|
|
|
11765
14011
|
}
|
|
11766
14012
|
}
|
|
11767
14013
|
}
|
|
14014
|
+
function occurrencesOfNodes(nodes) {
|
|
14015
|
+
const found = nodes.map((m) => locOfElement(m)).filter((l) => l !== void 0);
|
|
14016
|
+
if (!found.length) return void 0;
|
|
14017
|
+
return __spreadValues({
|
|
14018
|
+
locs: found.slice(0, MAX_WARNING_LOCATIONS)
|
|
14019
|
+
}, found.length > MAX_WARNING_LOCATIONS ? { truncated: true } : {});
|
|
14020
|
+
}
|
|
14021
|
+
for (const feature of HTML_ATTRIBUTE_FEATURES) {
|
|
14022
|
+
if (!isActionable(feature)) continue;
|
|
14023
|
+
const matches = $(feature).toArray();
|
|
14024
|
+
if (!matches.length) continue;
|
|
14025
|
+
checkPropertySupport(
|
|
14026
|
+
feature,
|
|
14027
|
+
addWarning,
|
|
14028
|
+
framework,
|
|
14029
|
+
void 0,
|
|
14030
|
+
void 0,
|
|
14031
|
+
void 0,
|
|
14032
|
+
occurrencesOfNodes(matches)
|
|
14033
|
+
);
|
|
14034
|
+
}
|
|
14035
|
+
for (const feature of HTML_MISC_FEATURES) {
|
|
14036
|
+
if (!isActionable(feature)) continue;
|
|
14037
|
+
const selector = HTML_MISC_SELECTORS[feature];
|
|
14038
|
+
const matches = selector ? $(selector).toArray() : miscNodes($, feature);
|
|
14039
|
+
if (!matches.length) continue;
|
|
14040
|
+
checkPropertySupport(
|
|
14041
|
+
feature,
|
|
14042
|
+
addWarning,
|
|
14043
|
+
framework,
|
|
14044
|
+
void 0,
|
|
14045
|
+
void 0,
|
|
14046
|
+
void 0,
|
|
14047
|
+
occurrencesOfNodes(matches)
|
|
14048
|
+
);
|
|
14049
|
+
}
|
|
11768
14050
|
const parsedAtRules = /* @__PURE__ */ new Set();
|
|
11769
14051
|
const selectorLocs = /* @__PURE__ */ new Map();
|
|
11770
14052
|
const parsedProperties = /* @__PURE__ */ new Set();
|
|
@@ -11810,13 +14092,26 @@ function analyzeEmailFromDom($, framework, source) {
|
|
|
11810
14092
|
$("style").each((_, el) => {
|
|
11811
14093
|
const cssText = $(el).text();
|
|
11812
14094
|
blockAnchor = cssBlockAnchor(el, cssText, source);
|
|
14095
|
+
let ast;
|
|
11813
14096
|
try {
|
|
11814
|
-
|
|
14097
|
+
ast = csstree5.parse(cssText, { parseCustomProperty: true, positions: true });
|
|
14098
|
+
} catch (e) {
|
|
14099
|
+
return;
|
|
14100
|
+
}
|
|
14101
|
+
{
|
|
11815
14102
|
csstree5.walk(ast, {
|
|
11816
14103
|
enter(node) {
|
|
11817
14104
|
if (node.type === "Atrule") {
|
|
11818
14105
|
parsedAtRules.add(`@${node.name}`);
|
|
11819
14106
|
recordSelectorLoc(`@${node.name}`, node.loc);
|
|
14107
|
+
if (node.name === "media" && node.prelude) {
|
|
14108
|
+
const prelude = csstree5.generate(node.prelude).toLowerCase();
|
|
14109
|
+
for (const [feature, pattern] of MEDIA_FEATURE_DETECTORS) {
|
|
14110
|
+
if (!pattern.test(prelude)) continue;
|
|
14111
|
+
parsedAtRules.add(feature);
|
|
14112
|
+
recordSelectorLoc(feature, node.loc);
|
|
14113
|
+
}
|
|
14114
|
+
}
|
|
11820
14115
|
}
|
|
11821
14116
|
if (node.type === "PseudoClassSelector") {
|
|
11822
14117
|
detectedPseudoClasses.add(`:${node.name}`);
|
|
@@ -11858,16 +14153,12 @@ function analyzeEmailFromDom($, framework, source) {
|
|
|
11858
14153
|
}
|
|
11859
14154
|
}
|
|
11860
14155
|
});
|
|
11861
|
-
} catch (e) {
|
|
11862
14156
|
}
|
|
11863
14157
|
});
|
|
11864
14158
|
for (const atRule of AT_RULE_FEATURES) {
|
|
11865
14159
|
if (!parsedAtRules.has(atRule)) continue;
|
|
11866
14160
|
checkPropertySupport(atRule, addWarning, framework, void 0, void 0, void 0, selectorLocs.get(atRule));
|
|
11867
14161
|
}
|
|
11868
|
-
const cssPropertiesToCheck = Object.keys(CSS_SUPPORT).filter(
|
|
11869
|
-
(k) => !k.startsWith("<") && !k.startsWith("@")
|
|
11870
|
-
);
|
|
11871
14162
|
$("[style]").each((_, el) => {
|
|
11872
14163
|
const style = $(el).attr("style") || "";
|
|
11873
14164
|
const props = parseStyleProperties(style);
|
|
@@ -11895,7 +14186,7 @@ function analyzeEmailFromDom($, framework, source) {
|
|
|
11895
14186
|
}
|
|
11896
14187
|
}
|
|
11897
14188
|
}
|
|
11898
|
-
if (
|
|
14189
|
+
if (CSS_PROPERTY_SET.has(prop)) {
|
|
11899
14190
|
const declared = getStyleValues(style, prop);
|
|
11900
14191
|
const placed = [];
|
|
11901
14192
|
declared.forEach((value2, i) => {
|
|
@@ -11933,7 +14224,7 @@ function analyzeEmailFromDom($, framework, source) {
|
|
|
11933
14224
|
});
|
|
11934
14225
|
for (const prop of parsedProperties) {
|
|
11935
14226
|
if (prop.includes(":")) continue;
|
|
11936
|
-
if (!
|
|
14227
|
+
if (!CSS_PROPERTY_SET.has(prop)) continue;
|
|
11937
14228
|
const values = propertyValues.get(prop);
|
|
11938
14229
|
checkPropertySupport(
|
|
11939
14230
|
prop,
|
|
@@ -11946,7 +14237,6 @@ function analyzeEmailFromDom($, framework, source) {
|
|
|
11946
14237
|
);
|
|
11947
14238
|
}
|
|
11948
14239
|
for (const compound of COMPOUND_VALUE_FEATURES) {
|
|
11949
|
-
if (compound.startsWith(":") || compound.startsWith("::")) continue;
|
|
11950
14240
|
if (parsedProperties.has(compound)) {
|
|
11951
14241
|
checkPropertySupport(compound, addWarning, framework, void 0, propertyLines.get(compound), void 0, propertyLocs.get(compound));
|
|
11952
14242
|
}
|
|
@@ -12005,6 +14295,7 @@ function withOutlookBranch(html, warnings, framework) {
|
|
|
12005
14295
|
return [...kept, ...merged];
|
|
12006
14296
|
}
|
|
12007
14297
|
function getFixType(prop) {
|
|
14298
|
+
if (prop.startsWith("[") || MISC_LABEL_LOOKUP[prop]) return "structural";
|
|
12008
14299
|
return STRUCTURAL_FIX_PROPERTIES.has(prop) ? "structural" : "css";
|
|
12009
14300
|
}
|
|
12010
14301
|
function noteSuffix(notes) {
|
|
@@ -12012,6 +14303,39 @@ function noteSuffix(notes) {
|
|
|
12012
14303
|
const cleaned = notes.map((n) => n.replace(/^(?:Partial|Buggy|Not supported)\.\s*/i, "").trim()).filter(Boolean);
|
|
12013
14304
|
return cleaned.length ? ` ${cleaned.join(" ")}` : "";
|
|
12014
14305
|
}
|
|
14306
|
+
function miscNodes($, feature) {
|
|
14307
|
+
var _a;
|
|
14308
|
+
if (feature === "doctype") {
|
|
14309
|
+
const root = $.root()[0];
|
|
14310
|
+
return ((_a = root == null ? void 0 : root.children) != null ? _a : []).filter(
|
|
14311
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
14312
|
+
(c) => c.type === "directive" && String(c.name).toLowerCase() === "!doctype"
|
|
14313
|
+
);
|
|
14314
|
+
}
|
|
14315
|
+
if (feature === "html-comments") return ordinaryComments($.root()[0]);
|
|
14316
|
+
if (feature === "amp4email") {
|
|
14317
|
+
return $("html").toArray().filter(
|
|
14318
|
+
(el) => {
|
|
14319
|
+
var _a2;
|
|
14320
|
+
return Object.keys((_a2 = el.attribs) != null ? _a2 : {}).some(
|
|
14321
|
+
(a) => a === "amp4email" || a === "\u26A14email"
|
|
14322
|
+
);
|
|
14323
|
+
}
|
|
14324
|
+
);
|
|
14325
|
+
}
|
|
14326
|
+
return [];
|
|
14327
|
+
}
|
|
14328
|
+
function ordinaryComments(node, out = []) {
|
|
14329
|
+
var _a, _b;
|
|
14330
|
+
for (const child of (_a = node == null ? void 0 : node.children) != null ? _a : []) {
|
|
14331
|
+
if (child.type === "comment") {
|
|
14332
|
+
const data = String((_b = child.data) != null ? _b : "").trim();
|
|
14333
|
+
if (!/^\[if\b/i.test(data) && !/^<!\[endif\]/i.test(data)) out.push(child);
|
|
14334
|
+
}
|
|
14335
|
+
if (child.children) ordinaryComments(child, out);
|
|
14336
|
+
}
|
|
14337
|
+
return out;
|
|
14338
|
+
}
|
|
12015
14339
|
function checkPropertySupport(prop, addWarning, framework, selector, line, values, occurrences) {
|
|
12016
14340
|
var _a, _b, _c, _d, _e, _f;
|
|
12017
14341
|
const loc = occurrences == null ? void 0 : occurrences.locs[0];
|
|
@@ -12025,11 +14349,12 @@ function checkPropertySupport(prop, addWarning, framework, selector, line, value
|
|
|
12025
14349
|
if (support === "unsupported") {
|
|
12026
14350
|
const sug = getSuggestion(prop, client.id, framework);
|
|
12027
14351
|
const fix = getCodeFix(prop, client.id, framework);
|
|
14352
|
+
const graceful = GRACEFUL_FEATURES.has(prop);
|
|
12028
14353
|
addWarning(__spreadValues(__spreadValues(__spreadValues(__spreadValues({
|
|
12029
|
-
severity: "warning",
|
|
14354
|
+
severity: graceful ? "info" : "warning",
|
|
12030
14355
|
client: client.id,
|
|
12031
14356
|
property: prop,
|
|
12032
|
-
message: `${client.name} does not support
|
|
14357
|
+
message: graceful ? `${client.name} ignores ${featureLabel(prop)}.${noteSuffix(notes)}` : `${client.name} does not support ${featureLabel(prop)}.${noteSuffix(notes)}`,
|
|
12033
14358
|
suggestion: sug.text,
|
|
12034
14359
|
fix,
|
|
12035
14360
|
fixType
|
|
@@ -12043,7 +14368,7 @@ function checkPropertySupport(prop, addWarning, framework, selector, line, value
|
|
|
12043
14368
|
severity: "info",
|
|
12044
14369
|
client: client.id,
|
|
12045
14370
|
property: prop,
|
|
12046
|
-
message: `${client.name} has partial support for
|
|
14371
|
+
message: `${client.name} has partial support for ${featureLabel(prop)}.${noteSuffix(notes)}`,
|
|
12047
14372
|
suggestion: sug.text,
|
|
12048
14373
|
fix,
|
|
12049
14374
|
fixType
|
|
@@ -12467,6 +14792,8 @@ var FEATURE_URLS = {
|
|
|
12467
14792
|
"<bdi>": "https://www.caniemail.com/features/html-bdi/",
|
|
12468
14793
|
"<blockquote>": "https://www.caniemail.com/features/html-blockquote/",
|
|
12469
14794
|
"<body>": "https://www.caniemail.com/features/html-body/",
|
|
14795
|
+
'<button type="reset">': "https://www.caniemail.com/features/html-button-reset/",
|
|
14796
|
+
'<button type="submit">': "https://www.caniemail.com/features/html-button-submit/",
|
|
12470
14797
|
"<code>": "https://www.caniemail.com/features/html-code/",
|
|
12471
14798
|
"<del>": "https://www.caniemail.com/features/html-del/",
|
|
12472
14799
|
"<dfn>": "https://www.caniemail.com/features/html-dfn/",
|
|
@@ -12476,6 +14803,12 @@ var FEATURE_URLS = {
|
|
|
12476
14803
|
"<h1>": "https://www.caniemail.com/features/html-h1-h6/",
|
|
12477
14804
|
"<hr>": "https://www.caniemail.com/features/html-hr/",
|
|
12478
14805
|
"<img>": "https://www.caniemail.com/features/html-img/",
|
|
14806
|
+
'<input type="checkbox">': "https://www.caniemail.com/features/html-input-checkbox/",
|
|
14807
|
+
'<input type="hidden">': "https://www.caniemail.com/features/html-input-hidden/",
|
|
14808
|
+
'<input type="radio">': "https://www.caniemail.com/features/html-input-radio/",
|
|
14809
|
+
'<input type="reset">': "https://www.caniemail.com/features/html-input-reset/",
|
|
14810
|
+
'<input type="submit">': "https://www.caniemail.com/features/html-input-submit/",
|
|
14811
|
+
'<input type="text">': "https://www.caniemail.com/features/html-input-text/",
|
|
12479
14812
|
"<link>": "https://www.caniemail.com/features/html-link/",
|
|
12480
14813
|
"<marquee>": "https://www.caniemail.com/features/html-marquee/",
|
|
12481
14814
|
"<meter>": "https://www.caniemail.com/features/html-meter/",
|
|
@@ -12503,9 +14836,38 @@ var FEATURE_URLS = {
|
|
|
12503
14836
|
"@import": "https://www.caniemail.com/features/css-at-import/",
|
|
12504
14837
|
"@keyframes": "https://www.caniemail.com/features/css-at-keyframes/",
|
|
12505
14838
|
"@media": "https://www.caniemail.com/features/css-at-media/",
|
|
14839
|
+
"@media device-pixel-ratio": "https://www.caniemail.com/features/css-at-media-device-pixel-ratio/",
|
|
14840
|
+
"@media hover": "https://www.caniemail.com/features/css-at-media-hover/",
|
|
14841
|
+
"@media orientation": "https://www.caniemail.com/features/css-at-media-orientation/",
|
|
14842
|
+
"@media prefers-color-scheme": "https://www.caniemail.com/features/css-at-media-prefers-color-scheme/",
|
|
14843
|
+
"@media prefers-reduced-motion": "https://www.caniemail.com/features/css-at-media-prefers-reduced-motion/",
|
|
12506
14844
|
"@supports": "https://www.caniemail.com/features/css-at-supports/",
|
|
14845
|
+
"[align]": "https://www.caniemail.com/features/html-align/",
|
|
14846
|
+
"[aria-describedby]": "https://www.caniemail.com/features/html-aria-describedby/",
|
|
14847
|
+
"[aria-hidden]": "https://www.caniemail.com/features/html-aria-hidden/",
|
|
14848
|
+
"[aria-label]": "https://www.caniemail.com/features/html-aria-label/",
|
|
14849
|
+
"[aria-labelledby]": "https://www.caniemail.com/features/html-aria-labelledby/",
|
|
14850
|
+
"[aria-live]": "https://www.caniemail.com/features/html-aria-live/",
|
|
14851
|
+
"[background]": "https://www.caniemail.com/features/html-background/",
|
|
14852
|
+
"[cellpadding]": "https://www.caniemail.com/features/html-cellpadding/",
|
|
14853
|
+
"[cellspacing]": "https://www.caniemail.com/features/html-cellspacing/",
|
|
14854
|
+
"[command]": "https://www.caniemail.com/features/html-command-attribute/",
|
|
14855
|
+
"[dir]": "https://www.caniemail.com/features/html-dir/",
|
|
14856
|
+
"[height]": "https://www.caniemail.com/features/html-height/",
|
|
14857
|
+
"[hidden]": "https://www.caniemail.com/features/html-hidden/",
|
|
14858
|
+
"[lang]": "https://www.caniemail.com/features/html-lang/",
|
|
14859
|
+
"[loading]": "https://www.caniemail.com/features/html-loading-attribute/",
|
|
14860
|
+
"[popover]": "https://www.caniemail.com/features/html-popover/",
|
|
14861
|
+
"[required]": "https://www.caniemail.com/features/html-required/",
|
|
14862
|
+
"[role]": "https://www.caniemail.com/features/html-role/",
|
|
14863
|
+
"[srcset]": "https://www.caniemail.com/features/html-srcset/",
|
|
14864
|
+
"[target]": "https://www.caniemail.com/features/html-target/",
|
|
14865
|
+
"[valign]": "https://www.caniemail.com/features/html-valign/",
|
|
14866
|
+
"[width]": "https://www.caniemail.com/features/html-width/",
|
|
12507
14867
|
"accent-color": "https://www.caniemail.com/features/css-accent-color/",
|
|
12508
14868
|
"align-items": "https://www.caniemail.com/features/css-align-items/",
|
|
14869
|
+
"amp4email": "https://www.caniemail.com/features/amp/",
|
|
14870
|
+
"anchor-links": "https://www.caniemail.com/features/html-anchor-links/",
|
|
12509
14871
|
"animation": "https://www.caniemail.com/features/css-animation/",
|
|
12510
14872
|
"aspect-ratio": "https://www.caniemail.com/features/css-aspect-ratio/",
|
|
12511
14873
|
"backdrop-filter": "https://www.caniemail.com/features/css-backdrop-filter/",
|
|
@@ -12548,6 +14910,7 @@ var FEATURE_URLS = {
|
|
|
12548
14910
|
"display:flex": "https://www.caniemail.com/features/css-display-flex/",
|
|
12549
14911
|
"display:grid": "https://www.caniemail.com/features/css-display-grid/",
|
|
12550
14912
|
"display:none": "https://www.caniemail.com/features/css-display-none/",
|
|
14913
|
+
"doctype": "https://www.caniemail.com/features/html-doctype/",
|
|
12551
14914
|
"empty-cells": "https://www.caniemail.com/features/css-empty-cells/",
|
|
12552
14915
|
"filter": "https://www.caniemail.com/features/css-filter/",
|
|
12553
14916
|
"fit-content": "https://www.caniemail.com/features/css-intrinsic-size/",
|
|
@@ -12563,9 +14926,12 @@ var FEATURE_URLS = {
|
|
|
12563
14926
|
"gap": "https://www.caniemail.com/features/css-gap/",
|
|
12564
14927
|
"grid-template-columns": "https://www.caniemail.com/features/css-grid-template/",
|
|
12565
14928
|
"height": "https://www.caniemail.com/features/css-height/",
|
|
14929
|
+
"html-comments": "https://www.caniemail.com/features/html-comments/",
|
|
14930
|
+
"html5-semantics": "https://www.caniemail.com/features/html-semantics/",
|
|
12566
14931
|
"hyphenate-character": "https://www.caniemail.com/features/css-hyphenate-character/",
|
|
12567
14932
|
"hyphenate-limit-chars": "https://www.caniemail.com/features/css-hyphenate-limit-chars/",
|
|
12568
14933
|
"hyphens": "https://www.caniemail.com/features/css-hyphens/",
|
|
14934
|
+
"image-maps": "https://www.caniemail.com/features/html-image-maps/",
|
|
12569
14935
|
"inert": "https://www.caniemail.com/features/css-inert-attribute/",
|
|
12570
14936
|
"inline-size": "https://www.caniemail.com/features/css-inline-size/",
|
|
12571
14937
|
"inset": "https://www.caniemail.com/features/css-inset/",
|
|
@@ -12579,6 +14945,7 @@ var FEATURE_URLS = {
|
|
|
12579
14945
|
"list-style-image": "https://www.caniemail.com/features/css-list-style-image/",
|
|
12580
14946
|
"list-style-position": "https://www.caniemail.com/features/css-list-style-position/",
|
|
12581
14947
|
"list-style-type": "https://www.caniemail.com/features/css-list-style-type/",
|
|
14948
|
+
"mailto-links": "https://www.caniemail.com/features/html-mailto-links/",
|
|
12582
14949
|
"margin": "https://www.caniemail.com/features/css-margin/",
|
|
12583
14950
|
"margin-block-start-end": "https://www.caniemail.com/features/css-margin-block-start-end/",
|
|
12584
14951
|
"margin-inline-block": "https://www.caniemail.com/features/css-margin-inline-block/",
|
|
@@ -12589,6 +14956,7 @@ var FEATURE_URLS = {
|
|
|
12589
14956
|
"max-height": "https://www.caniemail.com/features/css-max-height/",
|
|
12590
14957
|
"max-inline-size": "https://www.caniemail.com/features/css-max-inline-size/",
|
|
12591
14958
|
"max-width": "https://www.caniemail.com/features/css-max-width/",
|
|
14959
|
+
"meta-color-scheme": "https://www.caniemail.com/features/html-meta-color-scheme/",
|
|
12592
14960
|
"min": "https://www.caniemail.com/features/css-function-min/",
|
|
12593
14961
|
"min-block-size": "https://www.caniemail.com/features/css-min-block-size/",
|
|
12594
14962
|
"min-height": "https://www.caniemail.com/features/css-min-height/",
|
|
@@ -14013,6 +16381,97 @@ function estimateBase64Bytes(dataUri) {
|
|
|
14013
16381
|
const payload = dataUri.slice(commaIdx + 1);
|
|
14014
16382
|
return Math.floor(payload.length * 3 / 4);
|
|
14015
16383
|
}
|
|
16384
|
+
var IMAGE_FORMAT_BY_EXTENSION = {
|
|
16385
|
+
apng: "apng",
|
|
16386
|
+
avif: "avif",
|
|
16387
|
+
bmp: "bmp",
|
|
16388
|
+
gif: "gif",
|
|
16389
|
+
hdr: "hdr",
|
|
16390
|
+
heic: "heif",
|
|
16391
|
+
heif: "heif",
|
|
16392
|
+
ico: "ico",
|
|
16393
|
+
jfif: "jpg",
|
|
16394
|
+
jpeg: "jpg",
|
|
16395
|
+
jpg: "jpg",
|
|
16396
|
+
mp4: "mp4",
|
|
16397
|
+
png: "png",
|
|
16398
|
+
svg: "svg",
|
|
16399
|
+
tif: "tiff",
|
|
16400
|
+
tiff: "tiff",
|
|
16401
|
+
webp: "webp"
|
|
16402
|
+
};
|
|
16403
|
+
var DATA_URI_MIME_ALIAS = {
|
|
16404
|
+
"svg+xml": "svg",
|
|
16405
|
+
"x-icon": "ico",
|
|
16406
|
+
"vnd.microsoft.icon": "ico",
|
|
16407
|
+
"x-png": "png"
|
|
16408
|
+
};
|
|
16409
|
+
var IMAGE_FORMAT_LABEL = {
|
|
16410
|
+
apng: "Animated PNG",
|
|
16411
|
+
avif: "AVIF",
|
|
16412
|
+
base64: "Base64 (data URI)",
|
|
16413
|
+
bmp: "BMP",
|
|
16414
|
+
gif: "GIF",
|
|
16415
|
+
hdr: "HDR",
|
|
16416
|
+
heif: "HEIF",
|
|
16417
|
+
ico: "ICO",
|
|
16418
|
+
jpg: "JPEG",
|
|
16419
|
+
mp4: "Video-as-image (MP4)",
|
|
16420
|
+
png: "PNG",
|
|
16421
|
+
svg: "SVG",
|
|
16422
|
+
tiff: "TIFF",
|
|
16423
|
+
webp: "WebP"
|
|
16424
|
+
};
|
|
16425
|
+
var IMAGE_FORMAT_ADVICE = {
|
|
16426
|
+
apng: "Use a GIF for animation, or a static PNG.",
|
|
16427
|
+
avif: "Use PNG or JPEG.",
|
|
16428
|
+
base64: "Host the image and reference it by URL.",
|
|
16429
|
+
bmp: "Use PNG or JPEG.",
|
|
16430
|
+
hdr: "Use PNG or JPEG.",
|
|
16431
|
+
heif: "Use PNG or JPEG.",
|
|
16432
|
+
ico: "Use PNG.",
|
|
16433
|
+
mp4: "Use an animated GIF, or a static image linking to the video.",
|
|
16434
|
+
svg: "Use PNG instead.",
|
|
16435
|
+
tiff: "Use PNG or JPEG.",
|
|
16436
|
+
webp: "Use PNG or JPEG."
|
|
16437
|
+
};
|
|
16438
|
+
function imageFormats(src) {
|
|
16439
|
+
var _a, _b, _c;
|
|
16440
|
+
const formats = [];
|
|
16441
|
+
const lower = src.toLowerCase();
|
|
16442
|
+
if (lower.startsWith("data:")) {
|
|
16443
|
+
if (lower.includes(";base64")) formats.push("base64");
|
|
16444
|
+
const mime = (_a = /^data:image\/([a-z0-9.+-]+)/.exec(lower)) == null ? void 0 : _a[1];
|
|
16445
|
+
const fromMime = mime && ((_b = IMAGE_FORMAT_BY_EXTENSION[mime]) != null ? _b : DATA_URI_MIME_ALIAS[mime]);
|
|
16446
|
+
if (fromMime) formats.push(fromMime);
|
|
16447
|
+
return formats;
|
|
16448
|
+
}
|
|
16449
|
+
const path = lower.split(/[?#]/)[0];
|
|
16450
|
+
const ext = (_c = /\.([a-z0-9]+)$/.exec(path)) == null ? void 0 : _c[1];
|
|
16451
|
+
const fromExt = ext ? IMAGE_FORMAT_BY_EXTENSION[ext] : void 0;
|
|
16452
|
+
if (fromExt) formats.push(fromExt);
|
|
16453
|
+
return formats;
|
|
16454
|
+
}
|
|
16455
|
+
function clientsWithout(format) {
|
|
16456
|
+
const row = IMAGE_SUPPORT[format];
|
|
16457
|
+
const broken = [];
|
|
16458
|
+
const partial = [];
|
|
16459
|
+
if (!row) return { broken, partial };
|
|
16460
|
+
for (const client of EMAIL_CLIENTS) {
|
|
16461
|
+
if (row[client.id] === "unsupported") broken.push(client.name);
|
|
16462
|
+
else if (row[client.id] === "partial") partial.push(client.name);
|
|
16463
|
+
}
|
|
16464
|
+
return { broken, partial };
|
|
16465
|
+
}
|
|
16466
|
+
function nameList(names, max = 4) {
|
|
16467
|
+
if (!names.length) return "no clients";
|
|
16468
|
+
if (names.length === 1) return names[0];
|
|
16469
|
+
if (names.length <= max) {
|
|
16470
|
+
return `${names.slice(0, -1).join(", ")} and ${names[names.length - 1]}`;
|
|
16471
|
+
}
|
|
16472
|
+
const rest = names.length - max;
|
|
16473
|
+
return `${names.slice(0, max).join(", ")} and ${rest} other${rest === 1 ? "" : "s"}`;
|
|
16474
|
+
}
|
|
14016
16475
|
function isTrackingPixel(el) {
|
|
14017
16476
|
const width = el.attr("width");
|
|
14018
16477
|
const height = el.attr("height");
|
|
@@ -14039,7 +16498,7 @@ function analyzeImagesFromDom($) {
|
|
|
14039
16498
|
const images = [];
|
|
14040
16499
|
let totalDataUriBytes = 0;
|
|
14041
16500
|
$("img").each((_, el) => {
|
|
14042
|
-
var _a, _b, _c;
|
|
16501
|
+
var _a, _b, _c, _d;
|
|
14043
16502
|
const img = $(el);
|
|
14044
16503
|
const src = img.attr("src") || "";
|
|
14045
16504
|
const alt = (_a = img.attr("alt")) != null ? _a : null;
|
|
@@ -14099,21 +16558,16 @@ function analyzeImagesFromDom($) {
|
|
|
14099
16558
|
src: truncateSrc(src)
|
|
14100
16559
|
}, elLoc ? { loc: elLoc } : {}));
|
|
14101
16560
|
}
|
|
14102
|
-
|
|
14103
|
-
|
|
14104
|
-
|
|
14105
|
-
|
|
14106
|
-
|
|
14107
|
-
|
|
14108
|
-
src: truncateSrc(src)
|
|
14109
|
-
}, srcLoc ? { loc: srcLoc } : {}));
|
|
14110
|
-
}
|
|
14111
|
-
if (src.toLowerCase().endsWith(".svg") || src.includes("image/svg")) {
|
|
14112
|
-
imgIssues.push("svg-format");
|
|
16561
|
+
for (const format of imageFormats(src)) {
|
|
16562
|
+
const { broken, partial } = clientsWithout(format);
|
|
16563
|
+
if (!broken.length) continue;
|
|
16564
|
+
const label = (_d = IMAGE_FORMAT_LABEL[format]) != null ? _d : format.toUpperCase();
|
|
16565
|
+
const advice = IMAGE_FORMAT_ADVICE[format];
|
|
16566
|
+
imgIssues.push(`${format}-format`);
|
|
14113
16567
|
issues.push(__spreadValues({
|
|
14114
|
-
rule:
|
|
16568
|
+
rule: `${format}-format`,
|
|
14115
16569
|
severity: "info",
|
|
14116
|
-
message:
|
|
16570
|
+
message: `${label} is not supported by ${nameList(broken)} (${broken.length} of ${EMAIL_CLIENTS.length} clients${partial.length ? `, partial in ${partial.length} more` : ""}).${advice ? ` ${advice}` : ""}`,
|
|
14117
16571
|
src: truncateSrc(src)
|
|
14118
16572
|
}, srcLoc ? { loc: srcLoc } : {}));
|
|
14119
16573
|
}
|
|
@@ -15489,17 +17943,27 @@ var CompileError = class extends Error {
|
|
|
15489
17943
|
AT_RULE_FEATURES,
|
|
15490
17944
|
COMPOUND_VALUE_FEATURES,
|
|
15491
17945
|
CSS_FUNCTION_FEATURES,
|
|
17946
|
+
CSS_PROPERTY_FEATURES,
|
|
15492
17947
|
CSS_SUPPORT,
|
|
15493
17948
|
CSS_SUPPORT_NOTES,
|
|
15494
17949
|
CompileError,
|
|
15495
17950
|
EMAIL_CLIENTS,
|
|
15496
17951
|
EMPTY_DELIVERABILITY,
|
|
17952
|
+
FEATURE_LAST_TESTED,
|
|
15497
17953
|
FEATURE_URLS,
|
|
15498
17954
|
GENERIC_LINK_TEXT,
|
|
17955
|
+
GRACEFUL_FEATURES,
|
|
17956
|
+
HTML_ATTRIBUTE_FEATURES,
|
|
15499
17957
|
HTML_ELEMENT_FEATURES,
|
|
17958
|
+
HTML_MISC_FEATURES,
|
|
17959
|
+
IMAGE_FORMATS,
|
|
17960
|
+
IMAGE_SUPPORT,
|
|
17961
|
+
IMAGE_SUPPORT_NOTES,
|
|
15500
17962
|
MAX_HTML_SIZE,
|
|
15501
17963
|
MAX_WARNING_LOCATIONS,
|
|
17964
|
+
SELECTOR_FEATURES,
|
|
15502
17965
|
STRUCTURAL_FIX_PROPERTIES,
|
|
17966
|
+
SUPPORT_CLIENTS,
|
|
15503
17967
|
VALUE_CAVEAT_PROPS,
|
|
15504
17968
|
alphaBlend,
|
|
15505
17969
|
analyzeEmail,
|