Source of data/browser/support.inc.pl

# automatically generated by tools/mkcaniuse
+{
  -date    => "2025-05-05T06:29:35",
  agents   => {
                and_chr => {
                             abbr => "And.",
                             browser => "Chrome for Android (former Android Browser)",
                             current_version => 135,
                             long_name => "Google Chrome for Android",
                             prefix => "webkit",
                             type => "mobile",
                             version_list => {
                               "135"         => { global_usage => 44.6783, release_date => 1743379200 },
                               "2.1"         => { global_usage => 0, release_date => 1256515200 },
                               "2.2"         => { global_usage => 0, release_date => 1274313600 },
                               "2.3"         => { global_usage => 0, release_date => 1291593600 },
                               "3"           => { global_usage => 0, release_date => 1298332800 },
                               "4"           => { global_usage => 0, release_date => 1318896000 },
                               "4.1"         => { global_usage => 0, release_date => 1341792000 },
                               "4.2-4.3"     => { global_usage => 0.000262095, release_date => 1374624000 },
                               "4.4"         => { global_usage => 0, release_date => 1386547200 },
                               "4.4.3-4.4.4" => { global_usage => 0.000961014, release_date => 1401667200 },
                             },
                             versions => [2.1, 2.2, 2.3, 3, 4, 4.1, "4.2-4.3", 4.4, "4.4.3-4.4.4", 135],
                           },
                and_ff  => {
                             abbr => "FF/And.",
                             browser => "Firefox for Android",
                             current_version => 137,
                             long_name => "Mozilla Firefox for Android",
                             prefix => "moz",
                             type => "mobile",
                             version_list => { 137 => { global_usage => 0.350735, release_date => 1743465600 } },
                             versions => [137],
                           },
                and_qq  => {
                             abbr => "QQ",
                             browser => "QQ Browser",
                             current_version => 14.9,
                             long_name => "QQ Browser for Android",
                             prefix => "webkit",
                             type => "mobile",
                             version_list => {
                               "14.9" => { global_usage => 0.229572, release_date => 1710288000 },
                             },
                             versions => [14.9],
                           },
                and_uc  => {
                             abbr => "UC",
                             browser => "UC Browser for Android",
                             current_version => 15.5,
                             long_name => "UC Browser for Android",
                             prefix => "webkit",
                             type => "mobile",
                             version_list => {
                               "15.5" => {
                                 global_usage => 0.848141,
                                 prefix => "webkit",
                                 release_date => 1710115200,
                               },
                             },
                             versions => [15.5],
                           },
                baidu   => {
                             abbr => "baidu",
                             browser => "Baidu Browser",
                             current_version => 13.52,
                             long_name => "Baidu Browser for Android",
                             prefix => "webkit",
                             type => "mobile",
                             version_list => { "13.52" => { global_usage => 0, release_date => 1710201600 } },
                             versions => [13.52],
                           },
                bb      => {
                             abbr => "BB",
                             browser => "Blackberry Browser",
                             current_version => 10,
                             long_name => "",
                             prefix => "webkit",
                             type => "mobile",
                             version_list => {
                               7  => { global_usage => 0, release_date => 1325376000 },
                               10 => { global_usage => 0, release_date => 1359504000 },
                             },
                             versions => [7, 10],
                           },
                chrome  => {
                             abbr => "Chr.",
                             browser => "Chrome",
                             current_version => 136,
                             long_name => "Google Chrome",
                             prefix => "webkit",
                             type => "desktop",
                             version_list => {
                               4   => { global_usage => 0, release_date => 1264377600 },
                               5   => { global_usage => 0, release_date => 1274745600 },
                               6   => { global_usage => 0, release_date => 1283385600 },
                               7   => { global_usage => 0, release_date => 1287619200 },
                               8   => { global_usage => 0, release_date => 1291248000 },
                               9   => { global_usage => 0, release_date => 1296777600 },
                               10  => { global_usage => 0, release_date => 1299542400 },
                               11  => { global_usage => 0, release_date => 1303862400 },
                               12  => { global_usage => 0, release_date => 1307404800 },
                               13  => { global_usage => 0, release_date => 1312243200 },
                               14  => { global_usage => 0, release_date => 1316131200 },
                               15  => { global_usage => 0, release_date => 1316131200 },
                               16  => { global_usage => 0, release_date => 1319500800 },
                               17  => { global_usage => 0, release_date => 1323734400 },
                               18  => { global_usage => 0, release_date => 1328659200 },
                               19  => { global_usage => 0, release_date => 1332892800 },
                               20  => { global_usage => 0, release_date => 1337040000 },
                               21  => { global_usage => 0, release_date => 1340668800 },
                               22  => { global_usage => 0, release_date => 1343692800 },
                               23  => { global_usage => 0, release_date => 1348531200 },
                               24  => { global_usage => 0, release_date => 1352246400 },
                               25  => { global_usage => 0, release_date => 1357862400 },
                               26  => { global_usage => 0, release_date => 1361404800 },
                               27  => { global_usage => 0, release_date => 1364428800 },
                               28  => { global_usage => 0, release_date => 1369094400 },
                               29  => { global_usage => 0, release_date => 1374105600 },
                               30  => { global_usage => 0, release_date => 1376956800 },
                               31  => { global_usage => 0, release_date => 1384214400 },
                               32  => { global_usage => 0, release_date => 1389657600 },
                               33  => { global_usage => 0, release_date => 1392940800 },
                               34  => { global_usage => 0, release_date => 1397001600 },
                               35  => { global_usage => 0, release_date => 1400544000 },
                               36  => { global_usage => 0, release_date => 1405468800 },
                               37  => { global_usage => 0, release_date => 1409011200 },
                               38  => { global_usage => 0.003623, release_date => 1412640000 },
                               39  => { global_usage => 0.007246, release_date => 1416268800 },
                               40  => { global_usage => 0.003623, release_date => 1421798400 },
                               41  => { global_usage => 0.007246, release_date => 1425513600 },
                               42  => { global_usage => 0.007246, release_date => 1429401600 },
                               43  => { global_usage => 0.007246, release_date => 1432080000 },
                               44  => { global_usage => 0.007246, release_date => 1437523200 },
                               45  => { global_usage => 0.007246, release_date => 1441152000 },
                               46  => { global_usage => 0.003623, release_date => 1444780800 },
                               47  => { global_usage => 0.007246, release_date => 1449014400 },
                               48  => { global_usage => 0.018115, release_date => 1453248000 },
                               49  => { global_usage => 0.018115, release_date => 1456963200 },
                               50  => { global_usage => 0.007246, release_date => 1460592000 },
                               51  => { global_usage => 0.007246, release_date => 1464134400 },
                               52  => { global_usage => 0.010869, release_date => 1469059200 },
                               53  => { global_usage => 0.007246, release_date => 1472601600 },
                               54  => { global_usage => 0.007246, release_date => 1476230400 },
                               55  => { global_usage => 0.007246, release_date => 1480550400 },
                               56  => { global_usage => 0.014492, release_date => 1485302400 },
                               57  => { global_usage => 0.007246, release_date => 1489017600 },
                               58  => { global_usage => 0.010869, release_date => 1492560000 },
                               59  => { global_usage => 0.007246, release_date => 1496707200 },
                               60  => { global_usage => 0.007246, release_date => 1500940800 },
                               61  => { global_usage => 0, release_date => 1504569600 },
                               62  => { global_usage => 0, release_date => 1508198400 },
                               63  => { global_usage => 0, release_date => 1512518400 },
                               64  => { global_usage => 0, release_date => 1516752000 },
                               65  => { global_usage => 0, release_date => 1520294400 },
                               66  => { global_usage => 0.021738, release_date => 1523923200 },
                               67  => { global_usage => 0, release_date => 1527552000 },
                               68  => { global_usage => 0, release_date => 1532390400 },
                               69  => { global_usage => 0.010869, release_date => 1536019200 },
                               70  => { global_usage => 0.010869, release_date => 1539648000 },
                               71  => { global_usage => 0, release_date => 1543968000 },
                               72  => { global_usage => 0, release_date => 1548720000 },
                               73  => { global_usage => 0.007246, release_date => 1552348800 },
                               74  => { global_usage => 0.003623, release_date => 1555977600 },
                               75  => { global_usage => 0.007246, release_date => 1559606400 },
                               76  => { global_usage => 0.003623, release_date => 1564444800 },
                               77  => { global_usage => 0.014492, release_date => 1568073600 },
                               78  => { global_usage => 0.010869, release_date => 1571702400 },
                               79  => { global_usage => 0.068837, release_date => 1575936000 },
                               80  => { global_usage => 0.010869, release_date => 1580860800 },
                               81  => { global_usage => 0.014492, release_date => 1586304000 },
                               83  => { global_usage => 0.028984, release_date => 1589846400 },
                               84  => { global_usage => 0.003623, release_date => 1594684800 },
                               85  => { global_usage => 0.010869, release_date => 1598313600 },
                               86  => { global_usage => 0.014492, release_date => 1601942400 },
                               87  => { global_usage => 0.057968, release_date => 1605571200 },
                               88  => { global_usage => 0.014492, release_date => 1611014400 },
                               89  => { global_usage => 0.003623, release_date => 1614556800 },
                               90  => { global_usage => 0.007246, release_date => 1618272000 },
                               91  => { global_usage => 0.03623, release_date => 1621987200 },
                               92  => { global_usage => 0.010869, release_date => 1626739200 },
                               93  => { global_usage => 0.014492, release_date => 1630368000 },
                               94  => { global_usage => 0.028984, release_date => 1632268800 },
                               95  => { global_usage => 0.007246, release_date => 1634601600 },
                               96  => { global_usage => 0.007246, release_date => 1637020800 },
                               97  => { global_usage => 0.018115, release_date => 1641340800 },
                               98  => { global_usage => 0.03623, release_date => 1643673600 },
                               99  => { global_usage => 0.010869, release_date => 1646092800 },
                               100 => { global_usage => 0.028984, release_date => 1648512000 },
                               101 => { global_usage => 0.014492, release_date => 1650931200 },
                               102 => { global_usage => 0.014492, release_date => 1653350400 },
                               103 => { global_usage => 0.076083, release_date => 1655769600 },
                               104 => { global_usage => 0.050722, release_date => 1659398400 },
                               105 => { global_usage => 0.010869, release_date => 1661817600 },
                               106 => { global_usage => 0.021738, release_date => 1664236800 },
                               107 => { global_usage => 0.025361, release_date => 1666656000 },
                               108 => { global_usage => 0.039853, release_date => 1669680000 },
                               109 => { global_usage => 0.912996, release_date => 1673308800 },
                               110 => { global_usage => 0.018115, release_date => 1675728000 },
                               111 => { global_usage => 0.03623, release_date => 1678147200 },
                               112 => { global_usage => 0.03623, release_date => 1680566400 },
                               113 => { global_usage => 0.10869, release_date => 1682985600 },
                               114 => { global_usage => 0.054345, release_date => 1685404800 },
                               115 => { global_usage => 0.032607, release_date => 1689724800 },
                               116 => { global_usage => 0.101444, release_date => 1692057600 },
                               117 => { global_usage => 0.094198, release_date => 1694476800 },
                               118 => { global_usage => 0.057968, release_date => 1696896000 },
                               119 => { global_usage => 0.03623, release_date => 1698710400 },
                               120 => { global_usage => 0.086952, release_date => 1701993600 },
                               121 => { global_usage => 0.094198, release_date => 1705968000 },
                               122 => { global_usage => 0.076083, release_date => 1708387200 },
                               123 => { global_usage => 0.086952, release_date => 1710806400 },
                               124 => { global_usage => 0.123182, release_date => 1713225600 },
                               125 => { global_usage => 0.344185, release_date => 1715644800 },
                               126 => { global_usage => 0.152166, release_date => 1718064000 },
                               127 => { global_usage => 0.101444, release_date => 1721174400 },
                               128 => { global_usage => 0.130428, release_date => 1724112000 },
                               129 => { global_usage => 0.101444, release_date => 1726531200 },
                               130 => { global_usage => 0.152166, release_date => 1728950400 },
                               131 => { global_usage => 1.17747, release_date => 1731369600 },
                               132 => { global_usage => 0.815175, release_date => 1736812800 },
                               133 => { global_usage => 5.89462, release_date => 1738627200 },
                               134 => { global_usage => 9.91615, release_date => 1741046400 },
                               135 => { global_usage => 0.021738, release_date => 1743465600 },
                               136 => { global_usage => 0.014492, release_date => 1745884800 },
                               137 => { global_usage => 0, release_date => undef },
                               138 => { global_usage => 0, release_date => undef },
                               139 => { global_usage => 0, release_date => undef },
                             },
                             versions => [4 .. 81, 83 .. 139],
                           },
                edge    => {
                             abbr => "Edge",
                             browser => "Edge (former IE)",
                             current_version => 135,
                             long_name => "Microsoft Edge",
                             prefix => "webkit",
                             type => "desktop",
                             version_list => {
                               "5.5" => { global_usage => 0, prefix => "ms", release_date => 962323200 },
                               "6"   => { global_usage => 0, prefix => "ms", release_date => 998870400 },
                               "7"   => { global_usage => 0, prefix => "ms", release_date => 1161129600 },
                               "8"   => { global_usage => 0, prefix => "ms", release_date => 1237420800 },
                               "9"   => { global_usage => 0.0324821, prefix => "ms", release_date => 1300060800 },
                               "10"  => { global_usage => 0, prefix => "ms", release_date => 1346716800 },
                               "11"  => { global_usage => 0.438508, prefix => "ms", release_date => 1381968000 },
                               "12"  => { global_usage => 0, prefix => "ms", release_date => 1438128000 },
                               "13"  => { global_usage => 0, prefix => "ms", release_date => 1447286400 },
                               "14"  => { global_usage => 0, prefix => "ms", release_date => 1470096000 },
                               "15"  => { global_usage => 0, prefix => "ms", release_date => 1491868800 },
                               "16"  => { global_usage => 0, prefix => "ms", release_date => 1508198400 },
                               "17"  => { global_usage => 0, prefix => "ms", release_date => 1525046400 },
                               "18"  => { global_usage => 0.097821, prefix => "ms", release_date => 1542067200 },
                               "79"  => { global_usage => 0, release_date => 1579046400 },
                               "80"  => { global_usage => 0, release_date => 1581033600 },
                               "81"  => { global_usage => 0, release_date => 1586736000 },
                               "83"  => { global_usage => 0, release_date => 1590019200 },
                               "84"  => { global_usage => 0, release_date => 1594857600 },
                               "85"  => { global_usage => 0, release_date => 1598486400 },
                               "86"  => { global_usage => 0, release_date => 1602201600 },
                               "87"  => { global_usage => 0, release_date => 1605830400 },
                               "88"  => { global_usage => 0, release_date => 1611360000 },
                               "89"  => { global_usage => 0, release_date => 1614816000 },
                               "90"  => { global_usage => 0, release_date => 1618358400 },
                               "91"  => { global_usage => 0, release_date => 1622073600 },
                               "92"  => { global_usage => 0.010869, release_date => 1626912000 },
                               "93"  => { global_usage => 0, release_date => 1630627200 },
                               "94"  => { global_usage => 0, release_date => 1632441600 },
                               "95"  => { global_usage => 0, release_date => 1634774400 },
                               "96"  => { global_usage => 0, release_date => 1637539200 },
                               "97"  => { global_usage => 0, release_date => 1641427200 },
                               "98"  => { global_usage => 0, release_date => 1643932800 },
                               "99"  => { global_usage => 0, release_date => 1646265600 },
                               "100" => { global_usage => 0, release_date => 1649635200 },
                               "101" => { global_usage => 0, release_date => 1651190400 },
                               "102" => { global_usage => 0, release_date => 1653955200 },
                               "103" => { global_usage => 0, release_date => 1655942400 },
                               "104" => { global_usage => 0, release_date => 1659657600 },
                               "105" => { global_usage => 0, release_date => 1661990400 },
                               "106" => { global_usage => 0, release_date => 1664755200 },
                               "107" => { global_usage => 0, release_date => 1666915200 },
                               "108" => { global_usage => 0.003623, release_date => 1670198400 },
                               "109" => { global_usage => 0.047099, release_date => 1673481600 },
                               "110" => { global_usage => 0, release_date => 1675900800 },
                               "111" => { global_usage => 0, release_date => 1678665600 },
                               "112" => { global_usage => 0, release_date => 1680825600 },
                               "113" => { global_usage => 0.007246, release_date => 1683158400 },
                               "114" => { global_usage => 0.014492, release_date => 1685664000 },
                               "115" => { global_usage => 0.007246, release_date => 1689897600 },
                               "116" => { global_usage => 0, release_date => 1692576000 },
                               "117" => { global_usage => 0.003623, release_date => 1694649600 },
                               "118" => { global_usage => 0.003623, release_date => 1697155200 },
                               "119" => { global_usage => 0.003623, release_date => 1698969600 },
                               "120" => { global_usage => 0.03623, release_date => 1701993600 },
                               "121" => { global_usage => 0.007246, release_date => 1706227200 },
                               "122" => { global_usage => 0.014492, release_date => 1708732800 },
                               "123" => { global_usage => 0.007246, release_date => 1711152000 },
                               "124" => { global_usage => 0.007246, release_date => 1713398400 },
                               "125" => { global_usage => 0.007246, release_date => 1715990400 },
                               "126" => { global_usage => 0.021738, release_date => 1718841600 },
                               "127" => { global_usage => 0.014492, release_date => 1721865600 },
                               "128" => { global_usage => 0.014492, release_date => 1724371200 },
                               "129" => { global_usage => 0.014492, release_date => 1726704000 },
                               "130" => { global_usage => 0.025361, release_date => 1729123200 },
                               "131" => { global_usage => 0.065214, release_date => 1731542400 },
                               "132" => { global_usage => 0.079706, release_date => 1737417600 },
                               "133" => { global_usage => 1.34051, release_date => 1740614400 },
                               "134" => { global_usage => 3.0252, release_date => 1741219200 },
                               "135" => { global_usage => 0, release_date => 1743984000 },
                               "136" => { global_usage => 0, release_date => undef },
                             },
                             versions => [5.5, 6 .. 18, 79, 80, 81, 83 .. 136],
                           },
                firefox => {
                             abbr => "FF",
                             browser => "Firefox",
                             current_version => 138,
                             long_name => "Mozilla Firefox",
                             prefix => "moz",
                             type => "desktop",
                             version_list => {
                               "2"   => { global_usage => 0.007246, release_date => 1161648000 },
                               "3"   => { global_usage => 0, release_date => 1213660800 },
                               "3.5" => { global_usage => 0, release_date => 1246320000 },
                               "3.6" => { global_usage => 0, release_date => 1264032000 },
                               "4"   => { global_usage => 0, release_date => 1300752000 },
                               "5"   => { global_usage => 0, release_date => 1308614400 },
                               "6"   => { global_usage => 0, release_date => 1313452800 },
                               "7"   => { global_usage => 0, release_date => 1317081600 },
                               "8"   => { global_usage => 0, release_date => 1317081600 },
                               "9"   => { global_usage => 0, release_date => 1320710400 },
                               "10"  => { global_usage => 0, release_date => 1324339200 },
                               "11"  => { global_usage => 0.025361, release_date => 1327968000 },
                               "12"  => { global_usage => 0, release_date => 1331596800 },
                               "13"  => { global_usage => 0, release_date => 1335225600 },
                               "14"  => { global_usage => 0, release_date => 1338854400 },
                               "15"  => { global_usage => 0, release_date => 1342483200 },
                               "16"  => { global_usage => 0, release_date => 1346112000 },
                               "17"  => { global_usage => 0, release_date => 1349740800 },
                               "18"  => { global_usage => 0, release_date => 1353628800 },
                               "19"  => { global_usage => 0, release_date => 1357603200 },
                               "20"  => { global_usage => 0, release_date => 1361232000 },
                               "21"  => { global_usage => 0, release_date => 1364860800 },
                               "22"  => { global_usage => 0, release_date => 1368489600 },
                               "23"  => { global_usage => 0, release_date => 1372118400 },
                               "24"  => { global_usage => 0, release_date => 1375747200 },
                               "25"  => { global_usage => 0, release_date => 1379376000 },
                               "26"  => { global_usage => 0, release_date => 1386633600 },
                               "27"  => { global_usage => 0, release_date => 1391472000 },
                               "28"  => { global_usage => 0, release_date => 1395100800 },
                               "29"  => { global_usage => 0, release_date => 1398729600 },
                               "30"  => { global_usage => 0, release_date => 1402358400 },
                               "31"  => { global_usage => 0, release_date => 1405987200 },
                               "32"  => { global_usage => 0, release_date => 1409616000 },
                               "33"  => { global_usage => 0, release_date => 1413244800 },
                               "34"  => { global_usage => 0, release_date => 1417392000 },
                               "35"  => { global_usage => 0, release_date => 1421107200 },
                               "36"  => { global_usage => 0, release_date => 1424736000 },
                               "37"  => { global_usage => 0, release_date => 1428278400 },
                               "38"  => { global_usage => 0, release_date => 1431475200 },
                               "39"  => { global_usage => 0, release_date => 1435881600 },
                               "40"  => { global_usage => 0, release_date => 1439251200 },
                               "41"  => { global_usage => 0, release_date => 1442880000 },
                               "42"  => { global_usage => 0, release_date => 1446508800 },
                               "43"  => { global_usage => 0, release_date => 1450137600 },
                               "44"  => { global_usage => 0.003623, release_date => 1453852800 },
                               "45"  => { global_usage => 0, release_date => 1457395200 },
                               "46"  => { global_usage => 0, release_date => 1461628800 },
                               "47"  => { global_usage => 0, release_date => 1465257600 },
                               "48"  => { global_usage => 0, release_date => 1470096000 },
                               "49"  => { global_usage => 0, release_date => 1474329600 },
                               "50"  => { global_usage => 0, release_date => 1479168000 },
                               "51"  => { global_usage => 0, release_date => 1485216000 },
                               "52"  => { global_usage => 0.028984, release_date => 1488844800 },
                               "53"  => { global_usage => 0.014492, release_date => 1492560000 },
                               "54"  => { global_usage => 0, release_date => 1497312000 },
                               "55"  => { global_usage => 0.007246, release_date => 1502150400 },
                               "56"  => { global_usage => 0.007246, release_date => 1506556800 },
                               "57"  => { global_usage => 0, release_date => 1510617600 },
                               "58"  => { global_usage => 0, release_date => 1516665600 },
                               "59"  => { global_usage => 0.007246, release_date => 1520985600 },
                               "60"  => { global_usage => 0, release_date => 1525824000 },
                               "61"  => { global_usage => 0, release_date => 1529971200 },
                               "62"  => { global_usage => 0, release_date => 1536105600 },
                               "63"  => { global_usage => 0, release_date => 1540252800 },
                               "64"  => { global_usage => 0, release_date => 1544486400 },
                               "65"  => { global_usage => 0, release_date => 1548720000 },
                               "66"  => { global_usage => 0, release_date => 1552953600 },
                               "67"  => { global_usage => 0, release_date => 1558396800 },
                               "68"  => { global_usage => 0, release_date => 1562630400 },
                               "69"  => { global_usage => 0, release_date => 1567468800 },
                               "70"  => { global_usage => 0, release_date => 1571788800 },
                               "71"  => { global_usage => 0, release_date => 1575331200 },
                               "72"  => { global_usage => 0.003623, release_date => 1578355200 },
                               "73"  => { global_usage => 0, release_date => 1581379200 },
                               "74"  => { global_usage => 0, release_date => 1583798400 },
                               "75"  => { global_usage => 0, release_date => 1586304000 },
                               "76"  => { global_usage => 0, release_date => 1588636800 },
                               "77"  => { global_usage => 0, release_date => 1591056000 },
                               "78"  => { global_usage => 0.010869, release_date => 1593475200 },
                               "79"  => { global_usage => 0, release_date => 1595894400 },
                               "80"  => { global_usage => 0, release_date => 1598313600 },
                               "81"  => { global_usage => 0, release_date => 1600732800 },
                               "82"  => { global_usage => 0, release_date => 1603152000 },
                               "83"  => { global_usage => 0, release_date => 1605571200 },
                               "84"  => { global_usage => 0, release_date => 1607990400 },
                               "85"  => { global_usage => 0, release_date => 1611619200 },
                               "86"  => { global_usage => 0, release_date => 1614038400 },
                               "87"  => { global_usage => 0, release_date => 1616457600 },
                               "88"  => { global_usage => 0.007246, release_date => 1618790400 },
                               "89"  => { global_usage => 0, release_date => 1622505600 },
                               "90"  => { global_usage => 0, release_date => 1626134400 },
                               "91"  => { global_usage => 0, release_date => 1628553600 },
                               "92"  => { global_usage => 0, release_date => 1630972800 },
                               "93"  => { global_usage => 0, release_date => 1633392000 },
                               "94"  => { global_usage => 0.003623, release_date => 1635811200 },
                               "95"  => { global_usage => 0, release_date => 1638835200 },
                               "96"  => { global_usage => 0, release_date => 1641859200 },
                               "97"  => { global_usage => 0, release_date => 1644364800 },
                               "98"  => { global_usage => 0, release_date => 1646697600 },
                               "99"  => { global_usage => 0, release_date => 1649116800 },
                               "100" => { global_usage => 0, release_date => 1651536000 },
                               "101" => { global_usage => 0, release_date => 1653955200 },
                               "102" => { global_usage => 0, release_date => 1656374400 },
                               "103" => { global_usage => 0, release_date => 1658793600 },
                               "104" => { global_usage => 0, release_date => 1661212800 },
                               "105" => { global_usage => 0, release_date => 1663632000 },
                               "106" => { global_usage => 0, release_date => 1666051200 },
                               "107" => { global_usage => 0, release_date => 1668470400 },
                               "108" => { global_usage => 0, release_date => 1670889600 },
                               "109" => { global_usage => 0.003623, release_date => 1673913600 },
                               "110" => { global_usage => 0, release_date => 1676332800 },
                               "111" => { global_usage => 0, release_date => 1678752000 },
                               "112" => { global_usage => 0, release_date => 1681171200 },
                               "113" => { global_usage => 0.003623, release_date => 1683590400 },
                               "114" => { global_usage => 0, release_date => 1686009600 },
                               "115" => { global_usage => 0.213757, release_date => 1688428800 },
                               "116" => { global_usage => 0, release_date => 1690848000 },
                               "117" => { global_usage => 0, release_date => 1693267200 },
                               "118" => { global_usage => 0.094198, release_date => 1695686400 },
                               "119" => { global_usage => 0, release_date => 1698105600 },
                               "120" => { global_usage => 0.003623, release_date => 1700524800 },
                               "121" => { global_usage => 0, release_date => 1702944000 },
                               "122" => { global_usage => 0, release_date => 1705968000 },
                               "123" => { global_usage => 0, release_date => 1708387200 },
                               "124" => { global_usage => 0, release_date => 1710806400 },
                               "125" => { global_usage => 0.014492, release_date => 1713225600 },
                               "126" => { global_usage => 0, release_date => 1715644800 },
                               "127" => { global_usage => 0.007246, release_date => 1718064000 },
                               "128" => { global_usage => 0.083329, release_date => 1720483200 },
                               "129" => { global_usage => 0, release_date => 1722902400 },
                               "130" => { global_usage => 0, release_date => 1725321600 },
                               "131" => { global_usage => 0.003623, release_date => 1727740800 },
                               "132" => { global_usage => 0.007246, release_date => 1730160000 },
                               "133" => { global_usage => 0.018115, release_date => 1732579200 },
                               "134" => { global_usage => 0.025361, release_date => 1736208000 },
                               "135" => { global_usage => 0.347808, release_date => 1738627200 },
                               "136" => { global_usage => 1.11951, release_date => 1741046400 },
                               "137" => { global_usage => 0.007246, release_date => 1743465600 },
                               "138" => { global_usage => 0, release_date => 1745884800 },
                               "139" => { global_usage => 0, release_date => undef },
                               "140" => { global_usage => 0, release_date => undef },
                               "141" => { global_usage => 0, release_date => undef },
                             },
                             versions => [2, 3, 3.5, 3.6, 4 .. 141],
                           },
                ie_mob  => {
                             abbr => "IE.Mob",
                             browser => "IE Mobile",
                             current_version => 11,
                             long_name => "",
                             prefix => "ms",
                             type => "mobile",
                             version_list => {
                               10 => { global_usage => 0, release_date => 1340150400 },
                               11 => { global_usage => 0, release_date => 1353456000 },
                             },
                             versions => [10, 11],
                           },
                ios_saf => {
                             abbr => "iOS",
                             browser => "Safari on iOS",
                             current_version => 18.4,
                             long_name => "Safari on iOS",
                             prefix => "webkit",
                             type => "mobile",
                             version_list => {
                               "10.0-10.2" => { global_usage => 0.00144949, release_date => 1473724800 },
                               "10.3"      => { global_usage => 0.0333383, release_date => 1490572800 },
                               "11.0-11.2" => { global_usage => 0.153646, release_date => 1505779200 },
                               "11.3-11.4" => { global_usage => 0.0101464, release_date => 1522281600 },
                               "12.0-12.1" => { global_usage => 0.00579797, release_date => 1537142400 },
                               "12.2-12.5" => { global_usage => 0.14205, release_date => 1553472000 },
                               "13.0-13.1" => { global_usage => 0.00289898, release_date => 1568851200 },
                               "13.2"      => { global_usage => 0.00579797, release_date => 1572220800 },
                               "13.3"      => { global_usage => 0.00579797, release_date => 1580169600 },
                               "13.4-13.7" => { global_usage => 0.0202929, release_date => 1585008000 },
                               "14.0-14.4" => { global_usage => 0.124656, release_date => 1600214400 },
                               "14.5-14.8" => { global_usage => 0.0608787, release_date => 1619395200 },
                               "15.0-15.1" => { global_usage => 0.0333383, release_date => 1632096000 },
                               "15.2-15.3" => { global_usage => 0.0333383, release_date => 1639353600 },
                               "15.4"      => { global_usage => 0.0405858, release_date => 1647216000 },
                               "15.5"      => { global_usage => 0.0463837, release_date => 1652659200 },
                               "15.6-15.8" => { global_usage => 0.568201, release_date => 1658275200 },
                               "16.0"      => { global_usage => 0.0797221, release_date => 1662940800 },
                               "16.1"      => { global_usage => 0.165242, release_date => 1666569600 },
                               "16.2"      => { global_usage => 0.08552, release_date => 1670889600 },
                               "16.3"      => { global_usage => 0.150747, release_date => 1674432000 },
                               "16.4"      => { global_usage => 0.0333383, release_date => 1679875200 },
                               "16.5"      => { global_usage => 0.0623282, release_date => 1684368000 },
                               "16.6-16.7" => { global_usage => 0.672564, release_date => 1690156800 },
                               "17.0"      => { global_usage => 0.0405858, release_date => 1694995200 },
                               "17.1"      => { global_usage => 0.0724746, release_date => 1698192000 },
                               "17.2"      => { global_usage => 0.0550807, release_date => 1702252800 },
                               "17.3"      => { global_usage => 0.0768231, release_date => 1705881600 },
                               "17.4"      => { global_usage => 0.153646, release_date => 1709596800 },
                               "17.5"      => { global_usage => 0.340631, release_date => 1715558400 },
                               "17.6-17.7" => { global_usage => 0.988554, release_date => 1722211200 },
                               "18.0"      => { global_usage => 0.276853, release_date => 1726444800 },
                               "18.1"      => { global_usage => 0.905933, release_date => 1730073600 },
                               "18.2"      => { global_usage => 0.405858, release_date => 1733875200 },
                               "18.3"      => { global_usage => 8.46503, release_date => 1737936000 },
                               "18.4"      => { global_usage => 0.126106, release_date => 1743379200 },
                               "18.5"      => { global_usage => 0, release_date => undef },
                               "3.2"       => { global_usage => 0, release_date => 1270252800 },
                               "4.0-4.1"   => { global_usage => 0, release_date => 1283904000 },
                               "4.2-4.3"   => { global_usage => 0.00289898, release_date => 1299628800 },
                               "5.0-5.1"   => { global_usage => 0, release_date => 1331078400 },
                               "6.0-6.1"   => { global_usage => 0.00869695, release_date => 1359331200 },
                               "7.0-7.1"   => { global_usage => 0.00724746, release_date => 1394409600 },
                               "8"         => { global_usage => 0, release_date => 1410912000 },
                               "8.1-8.4"   => { global_usage => 0, release_date => 1413763200 },
                               "9.0-9.2"   => { global_usage => 0.00434848, release_date => 1442361600 },
                               "9.3"       => { global_usage => 0.0202929, release_date => 1458518400 },
                             },
                             versions => [
                               3.2,
                               "4.0-4.1",
                               "4.2-4.3",
                               "5.0-5.1",
                               "6.0-6.1",
                               "7.0-7.1",
                               8,
                               "8.1-8.4",
                               "9.0-9.2",
                               9.3,
                               "10.0-10.2",
                               10.3,
                               "11.0-11.2",
                               "11.3-11.4",
                               "12.0-12.1",
                               "12.2-12.5",
                               "13.0-13.1",
                               13.2,
                               13.3,
                               "13.4-13.7",
                               "14.0-14.4",
                               "14.5-14.8",
                               "15.0-15.1",
                               "15.2-15.3",
                               15.4,
                               15.5,
                               "15.6-15.8",
                               "16.0",
                               16.1,
                               16.2,
                               16.3,
                               16.4,
                               16.5,
                               "16.6-16.7",
                               "17.0",
                               17.1,
                               17.2,
                               17.3,
                               17.4,
                               17.5,
                               "17.6-17.7",
                               "18.0",
                               18.1,
                               18.2,
                               18.3,
                               18.4,
                               18.5,
                             ],
                           },
                kaios   => {
                             abbr => "Kai",
                             browser => "KaiOS Browser",
                             current_version => "3.0-3.1",
                             long_name => "KaiOS Browser",
                             prefix => "moz",
                             type => "mobile",
                             version_list => {
                               "2.5" => { global_usage => 0.012754, release_date => 1527811200 },
                               "3.0-3.1" => { global_usage => 0, release_date => 1631664000 },
                             },
                             versions => [2.5, "3.0-3.1"],
                           },
                op_mini => {
                             abbr => "O.Mini",
                             browser => "Opera Mini",
                             current_version => "all",
                             long_name => "Opera Mini",
                             prefix => "o",
                             type => "mobile",
                             version_list => { all => { global_usage => 0.05, release_date => 1426464000 } },
                             versions => ["all"],
                           },
                op_mob  => {
                             abbr => "O.Mob",
                             browser => "Opera Mobile",
                             current_version => 80,
                             long_name => "Opera for Android",
                             prefix => "o",
                             type => "mobile",
                             version_list => {
                               "10"   => { global_usage => 0, release_date => 1287100800 },
                               "11"   => { global_usage => 0, release_date => 1300752000 },
                               "11.1" => { global_usage => 0, release_date => 1314835200 },
                               "11.5" => { global_usage => 0, release_date => 1318291200 },
                               "12"   => { global_usage => 0, release_date => 1330300800 },
                               "12.1" => { global_usage => 0, release_date => 1349740800 },
                               "80"   => { global_usage => 1.04047, prefix => "webkit", release_date => 1709769600 },
                             },
                             versions => [10, 11, 11.1, 11.5, 12, 12.1, 80],
                           },
                opera   => {
                             abbr => "Op.",
                             browser => "Opera",
                             current_version => 117,
                             long_name => "Opera",
                             prefix => "webkit",
                             type => "desktop",
                             version_list => {
                               "10.0-10.1" => { global_usage => 0, prefix => "o", release_date => 1251763200 },
                               "10.5"      => { global_usage => 0, prefix => "o", release_date => 1267488000 },
                               "10.6"      => { global_usage => 0, prefix => "o", release_date => 1277942400 },
                               "100"       => { global_usage => 0, release_date => 1687219200 },
                               "101"       => { global_usage => 0, release_date => 1690329600 },
                               "102"       => { global_usage => 0.018115, release_date => 1692748800 },
                               "103"       => { global_usage => 0, release_date => 1696204800 },
                               "104"       => { global_usage => 0, release_date => 1699920000 },
                               "105"       => { global_usage => 0, release_date => 1699920000 },
                               "106"       => { global_usage => 0, release_date => 1702944000 },
                               "107"       => { global_usage => 0, release_date => 1707264000 },
                               "108"       => { global_usage => 0, release_date => 1710115200 },
                               "109"       => { global_usage => 0, release_date => 1711497600 },
                               "11"        => { global_usage => 0, prefix => "o", release_date => 1292457600 },
                               "11.1"      => { global_usage => 0, prefix => "o", release_date => 1302566400 },
                               "11.5"      => { global_usage => 0, prefix => "o", release_date => 1309219200 },
                               "11.6"      => { global_usage => 0, prefix => "o", release_date => 1323129600 },
                               "110"       => { global_usage => 0, release_date => 1716336000 },
                               "111"       => { global_usage => 0, release_date => 1719273600 },
                               "112"       => { global_usage => 0, release_date => 1721088000 },
                               "113"       => { global_usage => 0, release_date => 1724284800 },
                               "114"       => { global_usage => 0.003623, release_date => 1727222400 },
                               "115"       => { global_usage => 0, release_date => 1732665600 },
                               "116"       => { global_usage => 0.202888, release_date => 1736294400 },
                               "117"       => { global_usage => 0.684747, release_date => 1739404800 },
                               "12"        => { global_usage => 0, prefix => "o", release_date => 1323129600 },
                               "12.1"      => { global_usage => 0, prefix => "o", release_date => 1352073600 },
                               "15"        => { global_usage => 0, release_date => 1372723200 },
                               "16"        => { global_usage => 0, release_date => 1377561600 },
                               "17"        => { global_usage => 0, release_date => 1381104000 },
                               "18"        => { global_usage => 0, release_date => 1386288000 },
                               "19"        => { global_usage => 0, release_date => 1390867200 },
                               "20"        => { global_usage => 0, release_date => 1393891200 },
                               "21"        => { global_usage => 0, release_date => 1399334400 },
                               "22"        => { global_usage => 0, release_date => 1401753600 },
                               "23"        => { global_usage => 0, release_date => 1405987200 },
                               "24"        => { global_usage => 0, release_date => 1409616000 },
                               "25"        => { global_usage => 0, release_date => 1413331200 },
                               "26"        => { global_usage => 0, release_date => 1417132800 },
                               "27"        => { global_usage => 0, release_date => 1422316800 },
                               "28"        => { global_usage => 0, release_date => 1425945600 },
                               "29"        => { global_usage => 0, release_date => 1430179200 },
                               "30"        => { global_usage => 0, release_date => 1433808000 },
                               "31"        => { global_usage => 0, release_date => 1438646400 },
                               "32"        => { global_usage => 0, release_date => 1442448000 },
                               "33"        => { global_usage => 0, release_date => 1445904000 },
                               "34"        => { global_usage => 0, release_date => 1449100800 },
                               "35"        => { global_usage => 0, release_date => 1454371200 },
                               "36"        => { global_usage => 0, release_date => 1457308800 },
                               "37"        => { global_usage => 0, release_date => 1462320000 },
                               "38"        => { global_usage => 0, release_date => 1465344000 },
                               "39"        => { global_usage => 0, release_date => 1470096000 },
                               "40"        => { global_usage => 0.003623, release_date => 1474329600 },
                               "41"        => { global_usage => 0, release_date => 1477267200 },
                               "42"        => { global_usage => 0, release_date => 1481587200 },
                               "43"        => { global_usage => 0, release_date => 1486425600 },
                               "44"        => { global_usage => 0, release_date => 1490054400 },
                               "45"        => { global_usage => 0, release_date => 1494374400 },
                               "46"        => { global_usage => 0.010869, release_date => 1498003200 },
                               "47"        => { global_usage => 0, release_date => 1502236800 },
                               "48"        => { global_usage => 0, release_date => 1506470400 },
                               "49"        => { global_usage => 0, release_date => 1510099200 },
                               "50"        => { global_usage => 0, release_date => 1515024000 },
                               "51"        => { global_usage => 0, release_date => 1517961600 },
                               "52"        => { global_usage => 0, release_date => 1521676800 },
                               "53"        => { global_usage => 0, release_date => 1525910400 },
                               "54"        => { global_usage => 0, release_date => 1530144000 },
                               "55"        => { global_usage => 0, release_date => 1534982400 },
                               "56"        => { global_usage => 0, release_date => 1537833600 },
                               "57"        => { global_usage => 0, release_date => 1543363200 },
                               "58"        => { global_usage => 0, release_date => 1548201600 },
                               "60"        => { global_usage => 0, release_date => 1554768000 },
                               "62"        => { global_usage => 0, release_date => 1561593600 },
                               "63"        => { global_usage => 0, release_date => 1566259200 },
                               "64"        => { global_usage => 0, release_date => 1570406400 },
                               "65"        => { global_usage => 0, release_date => 1573689600 },
                               "66"        => { global_usage => 0, release_date => 1578441600 },
                               "67"        => { global_usage => 0, release_date => 1583971200 },
                               "68"        => { global_usage => 0, release_date => 1587513600 },
                               "69"        => { global_usage => 0, release_date => 1592956800 },
                               "70"        => { global_usage => 0, release_date => 1595894400 },
                               "71"        => { global_usage => 0, release_date => 1600128000 },
                               "72"        => { global_usage => 0, release_date => 1603238400 },
                               "73"        => { global_usage => 0, release_date => 1613520000 },
                               "74"        => { global_usage => 0, release_date => 1612224000 },
                               "75"        => { global_usage => 0, release_date => 1616544000 },
                               "76"        => { global_usage => 0, release_date => 1619568000 },
                               "77"        => { global_usage => 0, release_date => 1623715200 },
                               "78"        => { global_usage => 0, release_date => 1627948800 },
                               "79"        => { global_usage => 0, release_date => 1631577600 },
                               "80"        => { global_usage => 0, release_date => 1633392000 },
                               "81"        => { global_usage => 0, release_date => 1635984000 },
                               "82"        => { global_usage => 0, release_date => 1638403200 },
                               "83"        => { global_usage => 0, release_date => 1642550400 },
                               "84"        => { global_usage => 0, release_date => 1644969600 },
                               "85"        => { global_usage => 0, release_date => 1647993600 },
                               "86"        => { global_usage => 0, release_date => 1650412800 },
                               "87"        => { global_usage => 0.025361, release_date => 1652745600 },
                               "88"        => { global_usage => 0.007246, release_date => 1654646400 },
                               "89"        => { global_usage => 0, release_date => 1657152000 },
                               "9"         => { global_usage => 0, prefix => "o", release_date => 1150761600 },
                               "9.5-9.6"   => { global_usage => 0, prefix => "o", release_date => 1223424000 },
                               "90"        => { global_usage => 0, release_date => 1660780800 },
                               "91"        => { global_usage => 0, release_date => 1663113600 },
                               "92"        => { global_usage => 0, release_date => 1668816000 },
                               "93"        => { global_usage => 0, release_date => 1668643200 },
                               "94"        => { global_usage => 0, release_date => 1671062400 },
                               "95"        => { global_usage => 0.032607, release_date => 1675209600 },
                               "96"        => { global_usage => 0, release_date => 1677024000 },
                               "97"        => { global_usage => 0, release_date => 1679529600 },
                               "98"        => { global_usage => 0, release_date => 1681948800 },
                               "99"        => { global_usage => 0, release_date => 1684195200 },
                             },
                             versions => [
                               9,
                               "9.5-9.6",
                               "10.0-10.1",
                               10.5,
                               10.6,
                               11,
                               11.1,
                               11.5,
                               11.6,
                               12,
                               12.1,
                               15 .. 58,
                               60,
                               62 .. 117,
                             ],
                           },
                safari  => {
                             abbr => "Saf.",
                             browser => "Safari",
                             current_version => 18.4,
                             long_name => "Safari",
                             prefix => "webkit",
                             type => "desktop",
                             version_list => {
                               "10"        => { global_usage => 0, release_date => 1474329600 },
                               "10.1"      => { global_usage => 0, release_date => 1490572800 },
                               "11"        => { global_usage => 0, release_date => 1505779200 },
                               "11.1"      => { global_usage => 0.007246, release_date => 1522281600 },
                               "12"        => { global_usage => 0, release_date => 1537142400 },
                               "12.1"      => { global_usage => 0.007246, release_date => 1553472000 },
                               "13"        => { global_usage => 0, release_date => 1568851200 },
                               "13.1"      => { global_usage => 0.032607, release_date => 1585008000 },
                               "14"        => { global_usage => 0.014492, release_date => 1600214400 },
                               "14.1"      => { global_usage => 0.043476, release_date => 1619395200 },
                               "15"        => { global_usage => 0.003623, release_date => 1632096000 },
                               "15.1"      => { global_usage => 0.014492, release_date => 1635292800 },
                               "15.2-15.3" => { global_usage => 0.003623, release_date => 1639353600 },
                               "15.4"      => { global_usage => 0.010869, release_date => 1647216000 },
                               "15.5"      => { global_usage => 0.014492, release_date => 1652745600 },
                               "15.6"      => { global_usage => 0.148543, release_date => 1658275200 },
                               "16.0"      => { global_usage => 0.032607, release_date => 1662940800 },
                               "16.1"      => { global_usage => 0.021738, release_date => 1666569600 },
                               "16.2"      => { global_usage => 0.018115, release_date => 1670889600 },
                               "16.3"      => { global_usage => 0.039853, release_date => 1674432000 },
                               "16.4"      => { global_usage => 0.014492, release_date => 1679875200 },
                               "16.5"      => { global_usage => 0.025361, release_date => 1684368000 },
                               "16.6"      => { global_usage => 0.199265, release_date => 1690156800 },
                               "17.0"      => { global_usage => 0.010869, release_date => 1695686400 },
                               "17.1"      => { global_usage => 0.123182, release_date => 1698192000 },
                               "17.2"      => { global_usage => 0.018115, release_date => 1702252800 },
                               "17.3"      => { global_usage => 0.021738, release_date => 1705881600 },
                               "17.4"      => { global_usage => 0.050722, release_date => 1709596800 },
                               "17.5"      => { global_usage => 0.086952, release_date => 1715558400 },
                               "17.6"      => { global_usage => 0.264479, release_date => 1722211200 },
                               "18.0"      => { global_usage => 0.03623, release_date => 1726444800 },
                               "18.1"      => { global_usage => 0.115936, release_date => 1730073600 },
                               "18.2"      => { global_usage => 0.057968, release_date => 1733875200 },
                               "18.3"      => { global_usage => 1.4021, release_date => 1737936000 },
                               "18.4"      => { global_usage => 0.018115, release_date => 1743379200 },
                               "18.5"      => { global_usage => 0, release_date => undef },
                               "3.1"       => { global_usage => 0, release_date => 1205798400 },
                               "3.2"       => { global_usage => 0, release_date => 1226534400 },
                               "4"         => { global_usage => 0, release_date => 1244419200 },
                               "5"         => { global_usage => 0, release_date => 1275868800 },
                               "5.1"       => { global_usage => 0, release_date => 1311120000 },
                               "6"         => { global_usage => 0, release_date => 1343174400 },
                               "6.1"       => { global_usage => 0, release_date => 1382400000 },
                               "7"         => { global_usage => 0, release_date => 1382400000 },
                               "7.1"       => { global_usage => 0, release_date => 1410998400 },
                               "8"         => { global_usage => 0, release_date => 1413417600 },
                               "9"         => { global_usage => 0, release_date => 1443657600 },
                               "9.1"       => { global_usage => 0, release_date => 1458518400 },
                               "TP"        => { global_usage => 0, release_date => undef },
                             },
                             versions => [
                               3.1,
                               3.2,
                               4,
                               5,
                               5.1,
                               6,
                               6.1,
                               7,
                               7.1,
                               8,
                               9,
                               9.1,
                               10,
                               10.1,
                               11,
                               11.1,
                               12,
                               12.1,
                               13,
                               13.1,
                               14,
                               14.1,
                               15,
                               15.1,
                               "15.2-15.3",
                               15.4,
                               15.5,
                               15.6,
                               "16.0",
                               16.1,
                               16.2,
                               16.3,
                               16.4,
                               16.5,
                               16.6,
                               "17.0",
                               17.1,
                               17.2,
                               17.3,
                               17.4,
                               17.5,
                               17.6,
                               "18.0",
                               18.1,
                               18.2,
                               18.3,
                               18.4,
                               18.5,
                               "TP",
                             ],
                           },
                samsung => {
                             abbr => "SS",
                             browser => "Samsung Internet",
                             current_version => 27,
                             long_name => "Samsung Internet Browser",
                             prefix => "webkit",
                             type => "mobile",
                             version_list => {
                               "10.1"      => { global_usage => 0, release_date => 1567900800 },
                               "11.1-11.2" => { global_usage => 0, release_date => 1582588800 },
                               "12.0"      => { global_usage => 0, release_date => 1593475200 },
                               "13.0"      => { global_usage => 0, release_date => 1605657600 },
                               "14.0"      => { global_usage => 0, release_date => 1618531200 },
                               "15.0"      => { global_usage => 0, release_date => 1629072000 },
                               "16.0"      => { global_usage => 0, release_date => 1640736000 },
                               "17.0"      => { global_usage => 0.0109672, release_date => 1651708800 },
                               "18.0"      => { global_usage => 0, release_date => 1659657600 },
                               "19.0"      => { global_usage => 0, release_date => 1667260800 },
                               "20"        => { global_usage => 0, release_date => 1677369600 },
                               "21"        => { global_usage => 0.0219344, release_date => 1684454400 },
                               "22"        => { global_usage => 0.0219344, release_date => 1689292800 },
                               "23"        => { global_usage => 0.0329016, release_date => 1697587200 },
                               "24"        => { global_usage => 0.0438688, release_date => 1711497600 },
                               "25"        => { global_usage => 0.0438688, release_date => 1715126400 },
                               "26"        => { global_usage => 0.0877377, release_date => 1717718400 },
                               "27"        => { global_usage => 1.96313, release_date => 1725667200 },
                               "4"         => { global_usage => 0.0329016, release_date => 1461024000 },
                               "5.0-5.4"   => { global_usage => 0, release_date => 1481846400 },
                               "6.2-6.4"   => { global_usage => 0, release_date => 1509408000 },
                               "7.2-7.4"   => { global_usage => 0.0109672, release_date => 1528329600 },
                               "8.2"       => { global_usage => 0, release_date => 1546128000 },
                               "9.2"       => { global_usage => 0, release_date => 1554163200 },
                             },
                             versions => [
                               4,
                               "5.0-5.4",
                               "6.2-6.4",
                               "7.2-7.4",
                               8.2,
                               9.2,
                               10.1,
                               "11.1-11.2",
                               "12.0",
                               "13.0",
                               "14.0",
                               "15.0",
                               "16.0",
                               "17.0",
                               "18.0",
                               "19.0",
                               20 .. 27,
                             ],
                           },
              },
  cats     => {
                "CSS"      => ["CSS", "CSS2", "CSS3"],
                "HTML5"    => ["Canvas", "HTML5"],
                "JS"       => ["JS"],
                "JS API"   => ["JS API"],
                "Other"    => ["Other", "DOM", "PNG"],
                "Security" => ["Security"],
                "SVG"      => ["SVG"],
              },
  data     => {
                "aac"                             => {
                                                       categories   => ["Other"],
                                                       description  => "Advanced Audio Coding format, designed to be the successor format to MP3, with generally better sound quality.",
                                                       keywords     => "audio/aac",
                                                       links        => [
                                                                         {
                                                                           title => "Wikipedia article",
                                                                           url => "https://en.wikipedia.org/wiki/Advanced_Audio_Coding",
                                                                         },
                                                                       ],
                                                       notes        => "Support refers to this format's use in the `audio` element, not other conditions.",
                                                       notes_by_num => {
                                                                         1 => "Partial support in Firefox refers to only supporting AAC in an MP4 container and only when the operating system already has the codecs installed.",
                                                                       },
                                                       parent       => "audio",
                                                       spec         => "http://www.digitalpreservation.gov/formats/fdd/fdd000114.shtml",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "3" => "y" },
                                                                         and_ff  => { 137 => "a #1" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 10 => "u", 12 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                                         firefox => { 2 => "n", 22 => "a #1" },
                                                                         ie_mob  => { 10 => "y", 11 => "n" },
                                                                         ios_saf => { "3.2" => "u", "4.0-4.1" => "y" },
                                                                         kaios   => { "2.5" => "a #1" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "4" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "AAC audio file format",
                                                       ucprefix     => 0,
                                                     },
                "abortcontroller"                 => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5631483679080448,
                                                       description  => "Controller object that allows you to abort one or more DOM requests made with the Fetch API.",
                                                       keywords     => "abort api",
                                                       links        => [
                                                                         {
                                                                           title => "Abortable Fetch - Google Developers article",
                                                                           url => "https://developers.google.com/web/updates/2017/09/abortable-fetch",
                                                                         },
                                                                         {
                                                                           title => "AbortController - MDN Web Docs",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/AbortController",
                                                                         },
                                                                         {
                                                                           title => "AbortSignal - MDN Web Docs",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Safari has window.AbortController defined in the DOM but it's just a stub, it does not abort requests at all. The same issue also affects Chrome on IOS and Firefox on IOS because they use the same WebKit rendering engine as Safari.",
                                                                       },
                                                       parent       => "fetch",
                                                       spec         => "https://dom.spec.whatwg.org/#abortsignal",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 66 => "y" },
                                                                         edge    => { "5.5" => "n", "16" => "y" },
                                                                         firefox => { 2 => "n", 57 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.3-11.4" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 53 => "y" },
                                                                         safari  => { "3.1" => "n", "11.1" => "n #1", "12.1" => "y" },
                                                                         samsung => { "4" => "n", "9.2" => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "AbortController & AbortSignal",
                                                       ucprefix     => 0,
                                                     },
                "accelerometer"                   => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5698781827825664,
                                                       description  => "Defines `Accelerometer`, `LinearAccelerationSensor` and `GravitySensor` interfaces for obtaining information about acceleration applied to the X, Y and Z axis of a device that hosts the sensor.",
                                                       links        => [
                                                                         {
                                                                           title => "Demo",
                                                                           url => "https://intel.github.io/generic-sensor-demos/punchmeter/",
                                                                         },
                                                                         {
                                                                           title => "Article",
                                                                           url => "https://developers.google.com/web/updates/2017/09/sensors-for-the-web#acceleration-and-linear-accelerometer-sensor",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Available by enabling the \"Generic Sensor\" experimental flag in `about:flags`",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/accelerometer/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 58 => "n d #1", 67 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 54 => "y" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Accelerometer",
                                                       ucprefix     => 0,
                                                     },
                "addeventlistener"                => {
                                                       categories   => ["DOM"],
                                                       description  => "The modern standard API for adding DOM event handlers. Introduced in the DOM Level 2 Events spec. Also implies support for `removeEventListener`, the [capture phase](https://dom.spec.whatwg.org/#dom-event-capturing_phase) of DOM event dispatch, as well as the `stopPropagation()` and `preventDefault()` event methods.",
                                                       keywords     => "event,target,add,remove,listener,capture,capturing,phase",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - addEventListener",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener",
                                                                         },
                                                                         {
                                                                           title => "Financial Times IE8 polyfill",
                                                                           url => "https://github.com/Financial-Times/polyfill-service/blob/master/polyfills/Event/polyfill.js",
                                                                         },
                                                                         {
                                                                           title => "WebReflection ie8 polyfill",
                                                                           url => "https://github.com/WebReflection/ie8",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "IE<=8 instead only supports the [proprietary `.attachEvent()` method](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener). It also does not support the [capture phase](https://www.w3.org/TR/DOM-Level-3-Events/#event-flow) of DOM event dispatch; it only supports event bubbling.",
                                                                         2 => "The `useCapture` parameter is non-optional and must be provided. Future versions made it optional, with a default value of `false`.",
                                                                       },
                                                       spec         => "https://dom.spec.whatwg.org/#dom-eventtarget-addeventlistener",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n #1", "9" => "y" },
                                                                         firefox => { 2 => "y #2", 7 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { 9 => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "EventTarget.addEventListener()",
                                                       ucprefix     => 0,
                                                     },
                "ambient-light"                   => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5298357018820608,
                                                       description  => "Defines a concrete sensor interface to monitor the ambient light level or illuminance of the device\x{2019}s environment.",
                                                       links        => [
                                                                         {
                                                                           title => "Demo",
                                                                           url => "https://intel.github.io/generic-sensor-demos/ambient-map/build/bundled/",
                                                                         },
                                                                         {
                                                                           title => "Article",
                                                                           url => "https://developers.google.com/web/updates/2017/09/sensors-for-the-web",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Ambient Light Sensor",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Ambient_Light_Sensor_API",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Implements an [outdated version of the spec](https://www.w3.org/TR/2015/WD-ambient-light-20150903/).",
                                                                         2 => "Available by enabling the \"Generic Sensor Extra Classes\" experimental flag in `about:flags`",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/ambient-light/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 58 => "n d #2" },
                                                                         edge    => { "5.5" => "n", "14" => "a #1", "79" => "n d #2" },
                                                                         firefox => { 2 => "n", 22 => "a #1", 60 => "n d #1" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "a #1" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 73 => "n d #2" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Ambient Light Sensor",
                                                       ucprefix     => 0,
                                                     },
                "apng"                            => {
                                                       categories   => ["PNG"],
                                                       chrome_id    => 6691520493125632,
                                                       description  => "Like animated GIFs, but allowing 24-bit colors and alpha transparency",
                                                       links        => [
                                                                         { title => "Wikipedia", url => "https://en.wikipedia.org/wiki/APNG" },
                                                                         {
                                                                           title => "Polyfill using canvas",
                                                                           url => "https://github.com/davidmz/apng-canvas",
                                                                         },
                                                                         {
                                                                           title => "Chrome extension providing support",
                                                                           url => "https://chrome.google.com/webstore/detail/ehkepjiconegkhpodgoaeamnpckdbblp",
                                                                         },
                                                                         {
                                                                           title => "Chromium issue (fixed)",
                                                                           url => "https://code.google.com/p/chromium/issues/detail?id=437662",
                                                                         },
                                                                       ],
                                                       notes        => "Where support for APNG is missing, only the first frame is displayed",
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/png",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 59 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 3 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "8" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { "15" => "n", "46" => "y", "9" => "n", "9.5-9.6" => "y" },
                                                                         safari  => { "3.1" => "n", "8" => "y" },
                                                                         samsung => { "4" => "n", "7.2-7.4" => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Animated PNG (APNG)",
                                                       ucprefix     => 0,
                                                     },
                "array-find"                      => {
                                                       categories   => ["JS"],
                                                       description  => "The `find()` method returns the value of the first item in the array based on the result of the provided testing function.",
                                                       keywords     => "array.find",
                                                       links        => [
                                                                         {
                                                                           title => "MDN article",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for this feature is available in the core-js library",
                                                                           url => "https://github.com/zloirock/core-js#ecmascript-array",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://tc39.es/ecma262/#sec-array.prototype.find",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "u" },
                                                                         chrome  => { 4 => "n", 45 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "u", "15" => "y" },
                                                                         firefox => { 2 => "n", 25 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "8" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 32 => "y" },
                                                                         safari  => { "3.1" => "n", "7.1" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Array.prototype.find",
                                                       ucprefix     => 0,
                                                     },
                "array-find-index"                => {
                                                       categories   => ["JS"],
                                                       chrome_id    => 6732923508097024,
                                                       description  => "The `findIndex()` method returns the index of the first element in the array that satisfies the provided testing function.",
                                                       keywords     => "array.findIndex",
                                                       links        => [
                                                                         {
                                                                           title => "MDN article",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for this feature is available in the core-js library",
                                                                           url => "https://github.com/zloirock/core-js#ecmascript-array",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://tc39.es/ecma262/#sec-array.prototype.findindex",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "u" },
                                                                         chrome  => { 4 => "n", 45 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "y" },
                                                                         firefox => { 2 => "n", 25 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "8" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 32 => "y" },
                                                                         safari  => { "3.1" => "n", "7.1" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Array.prototype.findIndex",
                                                       ucprefix     => 0,
                                                     },
                "array-flat"                      => {
                                                       categories   => ["JS"],
                                                       chrome_id    => 6629507075145728,
                                                       description  => "Methods to flatten any sub-arrays found in an array by concatenating their elements.",
                                                       keywords     => "array.prototype.flat,array.prototype.flatmap",
                                                       links        => [
                                                                         {
                                                                           title => "MDN article on Array.prototype.flat",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flat",
                                                                         },
                                                                         {
                                                                           title => "MDN article on Array.prototype.flatMap",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap",
                                                                         },
                                                                         {
                                                                           title => "Article on the history of the `flat` methods",
                                                                           url => "https://developers.google.com/web/updates/2018/03/smooshgate",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for flat & flatMap",
                                                                           url => "https://github.com/jonathantneal/array-flat-polyfill",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for this feature is available in the core-js library",
                                                                           url => "https://github.com/zloirock/core-js#ecmascript-array",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://tc39.es/ecma262/#sec-array.prototype.flat",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 69 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 62 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "12.0-12.1" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 56 => "y" },
                                                                         safari  => { "3.1" => "n", "12" => "y" },
                                                                         samsung => { "4" => "n", "10.1" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "flat & flatMap array methods",
                                                       ucprefix     => 0,
                                                     },
                "array-includes"                  => {
                                                       categories   => ["JS"],
                                                       chrome_id    => 5964420647747584,
                                                       description  => "Determines whether or not an array includes the given value, returning a boolean value (unlike `indexOf`).",
                                                       keywords     => "array.includes",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes#Browser_compatibility",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for this feature is available in the core-js library",
                                                                           url => "https://github.com/zloirock/core-js#ecmascript-array",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://tc39.es/ecma262/#sec-array.prototype.includes",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 47 => "y" },
                                                                         edge    => { "5.5" => "n", "14" => "y" },
                                                                         firefox => { 2 => "n", 43 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 34 => "y" },
                                                                         safari  => { "3.1" => "n", "9" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Array.prototype.includes",
                                                       ucprefix     => 0,
                                                     },
                "arrow-functions"                 => {
                                                       categories   => ["JS"],
                                                       chrome_id    => 5047308127305728,
                                                       description  => "Function shorthand using `=>` syntax and lexical `this` binding.",
                                                       keywords     => "ES6,JavaScript,fat,arrow,function,lexical,this,()=>",
                                                       links        => [
                                                                         {
                                                                           title => "ECMAScript 6 features: Arrows",
                                                                           url => "https://github.com/lukehoban/es6features#arrows",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Arrow functions",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       parent       => "es6",
                                                       spec         => "https://tc39.es/ecma262/#sec-arrow-function-definitions",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 45 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "y" },
                                                                         firefox => { 2 => "n", 22 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.0-10.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 32 => "y" },
                                                                         safari  => { "3.1" => "n", "10" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Arrow functions",
                                                       ucprefix     => 0,
                                                     },
                "asmjs"                           => {
                                                       categories   => ["JS", "JS API", "Other"],
                                                       chrome_id    => 5053365658583040,
                                                       description  => "An extraordinarily optimizable, low-level subset of JavaScript, intended to be a compile target from languages like C++.",
                                                       keywords     => "asm,asm.js,asmjs,WebAssembly",
                                                       links        => [
                                                                         { title => "Homepage", url => "http://asmjs.org/" },
                                                                         {
                                                                           title => "Source for spec and tools",
                                                                           url => "https://github.com/dherman/asm.js/",
                                                                         },
                                                                         {
                                                                           title => "Bringing Asm.js to Chakra and Microsoft Edge",
                                                                           url => "https://blogs.windows.com/msedgedev/2015/05/07/bringing-asm-js-to-chakra-microsoft-edge/",
                                                                         },
                                                                         {
                                                                           title => "Microsoft Edge support announcement",
                                                                           url => "https://dev.modern.ie/platform/changelog/10532-pc/",
                                                                         },
                                                                         {
                                                                           title => "MDN article about asm.js",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Games/Tools/asm.js",
                                                                         },
                                                                         {
                                                                           title => "Wikipedia article about asm.js",
                                                                           url => "https://en.wikipedia.org/wiki/Asm.js",
                                                                         },
                                                                       ],
                                                       notes        => "asm.js is [mostly rendered obsolete](https://en.wikipedia.org/wiki/Asm.js#Deprecation) with the introduction of [WebAssembly](/wasm) and is therefore [no longer recommended](https://developer.mozilla.org/en-US/docs/Games/Tools/asm.js)",
                                                       notes_by_num => {
                                                                         1 => "Chromium does not support ahead-of-time compilation but performance doubled in Chrome 28: [https://en.wikipedia.org/wiki/Asm.js#Implementations](https://en.wikipedia.org/wiki/Asm.js#Implementations)",
                                                                         2 => "Supported in MS Edge under the \"Enable experimental JavaScript features\" flag.",
                                                                       },
                                                       spec         => "http://asmjs.org/spec/latest/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "a #1" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "a #1" },
                                                                         and_uc  => { "15.5" => "a #1" },
                                                                         baidu   => { "13.52" => "a #1" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 28 => "a #1" },
                                                                         edge    => { "5.5" => "n", "12" => "n d #2", "13" => "y", "79" => "a #1" },
                                                                         firefox => { 2 => "n", 22 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "a #1" },
                                                                         opera   => { 9 => "n", 15 => "a #1" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "a #1" },
                                                                       },
                                                       status       => "other",
                                                       title        => "asm.js",
                                                       ucprefix     => 0,
                                                     },
                "async-clipboard"                 => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5861289330999296,
                                                       description  => "A modern, asynchronous Clipboard API based on Promises",
                                                       keywords     => "clipboard,async,cut,copy,paste,clipboarddata,clipboardevent",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Clipboard API",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API",
                                                                         },
                                                                         {
                                                                           title => "W3C Async Clipboard Explainer",
                                                                           url => "https://github.com/w3c/clipboard-apis/blob/master/explainer.adoc",
                                                                         },
                                                                         {
                                                                           title => "Unlocking Clipboard Access",
                                                                           url => "https://web.dev/async-clipboard/",
                                                                         },
                                                                         {
                                                                           title => "Firefox implementation bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1619251",
                                                                         },
                                                                       ],
                                                       notes        => "Browsers differ on how they handle the security considerations for clipboard operations:\r\n\r\nChromium browsers require the `clipboard-write` permission to be granted before allowing clipboard reading & writing.\r\n\r\nSafari browsers will display a \"Paste\" option for users to select first before reading the clipboard.",
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to only supporting the \"writeText\" method.",
                                                                         2 => "Supports writing to clipboard but not reading.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/clipboard-apis/#async-clipboard-api",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "a #2" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 66 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 63 => "a #1", 125 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "14.0-14.4" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "a #1" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 53 => "y" },
                                                                         safari  => { "3.1" => "n", "13.1" => "y" },
                                                                         samsung => { "4" => "n", "9.2" => "a #2", "25" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Asynchronous Clipboard API",
                                                       ucprefix     => 0,
                                                     },
                "async-functions"                 => {
                                                       categories   => ["JS"],
                                                       chrome_id    => 5643236399906816,
                                                       description  => "Async functions make it possible to treat functions returning Promise objects as if they were synchronous.",
                                                       keywords     => "ES2017,JavaScript,function,async,await,promises,asynchronous",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Async functions",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function",
                                                                         },
                                                                         {
                                                                           title => "Async functions - making promises friendly",
                                                                           url => "https://developers.google.com/web/fundamentals/getting-started/primers/async-functions",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Since build 14342 - disabled by default; can be enabled through about:flags",
                                                                         2 => "Async arrow functions are [unsupported](https://github.com/kangax/compat-table/pull/1420).",
                                                                       },
                                                       spec         => "https://tc39.es/ecma262/#sec-async-function-definitions",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 55 => "y" },
                                                                         edge    => { "5.5" => "n", "14" => "n d #1", "15" => "y" },
                                                                         firefox => { 2 => "n", 52 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.3" => "n #2", "11.0-11.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 42 => "y" },
                                                                         safari  => { "3.1" => "n", "10.1" => "n #2", "11" => "y" },
                                                                         samsung => { "4" => "n", "6.2-6.4" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Async functions",
                                                       ucprefix     => 0,
                                                     },
                "atob-btoa"                       => {
                                                       categories   => ["JS API"],
                                                       description  => "Utility functions for encoding and decoding strings to and from base 64: window.atob() and window.btoa().",
                                                       keywords     => "atob,btoa",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - btoa()",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Window.btoa",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - atob()",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Window.atob",
                                                                         },
                                                                         {
                                                                           title => "Polyfill",
                                                                           url => "https://github.com/davidchambers/Base64.js",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/webappapis.html#atob",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "u", 11 => "y" },
                                                                         opera   => { "9" => "n", "10.5" => "u", "10.6" => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Base64 encoding and decoding",
                                                       ucprefix     => 0,
                                                     },
                "audio"                           => {
                                                       categories   => ["HTML5"],
                                                       description  => "Method of playing sound on webpages (without requiring a plug-in). Includes support for the following media properties: `currentSrc`, `currentTime`, `paused`, `playbackRate`, `buffered`, `duration`, `played`, `seekable`, `ended`, `autoplay`, `loop`, `controls`, `volume` & `muted`",
                                                       keywords     => "<audio>",
                                                       links        => [
                                                                         {
                                                                           title => "HTML5 Doctor article",
                                                                           url => "https://html5doctor.com/native-audio-in-the-browser/",
                                                                         },
                                                                         {
                                                                           title => "Detailed article on video/audio elements",
                                                                           url => "https://dev.opera.com/articles/everything-you-need-to-know-html5-video-audio/",
                                                                         },
                                                                         {
                                                                           title => "Demos of audio player that uses the audio element",
                                                                           url => "https://www.jplayer.org/latest/demos/",
                                                                         },
                                                                         {
                                                                           title => "Detailed article on support",
                                                                           url => "https://24ways.org/2010/the-state-of-html5-audio",
                                                                         },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/audio.js#audio",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/html/elements/audio",
                                                                         },
                                                                         {
                                                                           title => "The State of HTML5 Audio",
                                                                           url => "https://www.phoboslab.org/log/2011/03/the-state-of-html5-audio",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Old Firefox versions were missing support for some properties: `loop` was added in v11, `played` in v15, `playbackRate` in v20.",
                                                                         2 => "iOS volume is read-only.",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/embedded-content.html#the-audio-element",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "2.3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                                         firefox => { "2" => "n", "3.5" => "a #1", "20" => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "a #2" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 11 => "y" },
                                                                         opera   => { "10.5" => "y", "9" => "n", "9.5-9.6" => "a" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Audio element",
                                                       ucprefix     => 0,
                                                     },
                "audio-api"                       => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 6261718720184320,
                                                       description  => "High-level JavaScript API for processing and synthesizing audio",
                                                       keywords     => "web-audio,webaudio,AudioContext,AudioBuffer,AudioNode",
                                                       links        => [
                                                                         {
                                                                           title => "Polyfill to support Web Audio API in Firefox",
                                                                           url => "https://github.com/corbanbrook/audionode.js",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/apis/webaudio",
                                                                         },
                                                                         {
                                                                           title => "Polyfill to enable Web Audio API through Firefox Audio Data api or flash",
                                                                           url => "https://github.com/g200kg/WAAPISim",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Web Audio API",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API",
                                                                         },
                                                                       ],
                                                       notes        => "Not all browsers with support for the Audio API also support media streams (e.g. microphone input). See the [getUserMedia/Streams API](/#feat=stream) data for support for that feature.\r\n\r\nFirefox versions < 25 support an alternative, deprecated audio API.\r\n\r\nChrome support [went through some changes](https://developers.google.com/web/updates/2014/07/Web-Audio-Changes-in-m36) as of version 36.",
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/webaudio/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 14 => "y x", 34 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "y" },
                                                                         firefox => { 2 => "n", 25 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "14.5-14.8" => "y", "3.2" => "n", "6.0-6.1" => "y x" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y x", 22 => "y" },
                                                                         safari  => { "3.1" => "n", "6" => "y x", "14.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "Web Audio API",
                                                       ucprefix     => 0,
                                                     },
                "audiotracks"                     => {
                                                       categories   => ["HTML5"],
                                                       chrome_id    => 5748496434987008,
                                                       description  => "Method of specifying and selecting between multiple audio tracks. Useful for providing audio descriptions, director's commentary, additional languages, alternative takes, etc.",
                                                       keywords     => "AudioTrack,AudioTrackList,media,multiple,selection",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - HTMLMediaElement.audioTracks",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/audioTracks",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Supported in Firefox by enabling \"media.track.enabled\" in about:config",
                                                                         2 => "Supported in Chrome and Opera by enabling \"enable-experimental-web-platform-features\" in chrome:flags",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/embedded-content.html#audiotracklist-and-videotracklist-objects",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n d #2" },
                                                                         and_uc  => { "15.5" => "n d #2" },
                                                                         baidu   => { "13.52" => "n d #2" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 45 => "n d #2" },
                                                                         edge    => { "5.5" => "n", "10" => "y", "79" => "n d #2" },
                                                                         firefox => { 2 => "n", 33 => "n d #1" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "n d #1" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "n d #2" },
                                                                         opera   => { 9 => "n", 32 => "n d #2" },
                                                                         safari  => { "3.1" => "n", "6.1" => "y" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Audio Tracks",
                                                       ucprefix     => 0,
                                                     },
                "autofocus"                       => {
                                                       categories   => ["HTML5"],
                                                       description  => "Allows a form field to be immediately focused on page load.",
                                                       links        => [
                                                                         {
                                                                           title => "Article on autofocus",
                                                                           url => "https://davidwalsh.name/autofocus",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - autofocus attribute",
                                                                           url => "https://developer.mozilla.org/en/docs/Web/HTML/Element/input#attr-autofocus",
                                                                         },
                                                                       ],
                                                       notes        => "While not supported in iOS Safari, it does work in iOS WebViews.",
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/forms.html#autofocusing-a-form-control:-the-autofocus-attribute",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "n", 5 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "n", 4 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { "9" => "n", "9.5-9.6" => "y" },
                                                                         safari  => { "3.1" => "n", "5" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Autofocus attribute",
                                                       ucprefix     => 0,
                                                     },
                "auxclick"                        => {
                                                       categories   => ["DOM", "JS API"],
                                                       chrome_id    => 5663174342737920,
                                                       description  => "The click event for non-primary buttons of input devices",
                                                       keywords     => "click,auxclick,non-primary button,middle click",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - auxclick",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/Events/auxclick",
                                                                         },
                                                                         {
                                                                           title => "Firefox implementation",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1304044",
                                                                         },
                                                                         {
                                                                           title => "WebKit bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=22382",
                                                                         },
                                                                         {
                                                                           title => "Original Proposal",
                                                                           url => "https://wicg.github.io/auxclick/",
                                                                         },
                                                                       ],
                                                       notes        => "With introduction of this feature there will be no longer click event fired for non-primary buttons",
                                                       notes_by_num => {
                                                                         1 => "As a compatibility measure, Firefox continues to fire the click event for document and window level event handlers.",
                                                                       },
                                                       spec         => "https://w3c.github.io/uievents/#event-type-auxclick",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 55 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 53 => "y #1" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "18.2" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 42 => "y" },
                                                                         safari  => { "3.1" => "n", "18.2" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Auxclick",
                                                       ucprefix     => 0,
                                                     },
                "av1"                             => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 5729898442260480,
                                                       description  => "AV1 (AOMedia Video 1) is a royalty-free video format by the Alliance for Open Media, meant to succeed its predecessor VP9 and compete with the [HEVC/H.265](/hevc) format.",
                                                       links        => [
                                                                         {
                                                                           title => "Wikipedia article",
                                                                           url => "https://en.wikipedia.org/wiki/AV1",
                                                                         },
                                                                         {
                                                                           title => "Sample video from Bitmovin",
                                                                           url => "https://bitmovin.com/demos/av1",
                                                                         },
                                                                         {
                                                                           title => "Sample video from Facebook",
                                                                           url => "https://www.facebook.com/330716120785217/videos/330723190784510/",
                                                                         },
                                                                         {
                                                                           title => "Firefox implementation bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1452683",
                                                                         },
                                                                         {
                                                                           title => "Safari implementation bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=207547",
                                                                         },
                                                                       ],
                                                       notes        => "Edge has stopped supporting AV1 completely at some point prior to version 116 (additional information required).",
                                                       notes_by_num => {
                                                                         1 => "Can be enabled in Edge on Windows 10 or later by installing the [AV1 Video Extension from the Microsoft Store](https://www.microsoft.com/store/productId/9MVZQVXJBQ9V)",
                                                                         2 => "Firefox 65 only supported AV1 on Windows 64-bit",
                                                                         3 => "Firefox 66 only supported AV1 on Windows and macOS",
                                                                         4 => "Supported only on devices with hardware decoder, e.g. iPhone 15 Pro, M3 MacBook Pro, etc.",
                                                                       },
                                                       parent       => "video",
                                                       spec         => "https://github.com/AOMediaCodec/av1-spec",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 67 => "n d", 70 => "y" },
                                                                         edge    => { "5.5" => "n", "18" => "n d #1", "116" => "n", "121" => "y" },
                                                                         firefox => { 2 => "n", 55 => "n d", 65 => "a #2", 66 => "a #3", 67 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "17.0" => "a #4" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 57 => "y" },
                                                                         safari  => { "3.1" => "n", "17.0" => "a #4" },
                                                                         samsung => { "4" => "n", "12.0" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "AV1 video format",
                                                       ucprefix     => 0,
                                                     },
                "avif"                            => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 4905307790639104,
                                                       description  => "A modern image format based on the [AV1 video format](/av1). AVIF generally has better compression than [WebP](/webp), JPEG, PNG and GIF and is designed to supersede them. AVIF competes with [JPEG XL](/jpegxl) which has similar compression quality and is generally seen as more feature-rich than AVIF.",
                                                       links        => [
                                                                         { title => "Polyfill", url => "https://github.com/Kagami/avif.js" },
                                                                         {
                                                                           title => "AVIF for Next-Generation Image Coding - blog post",
                                                                           url => "https://netflixtechblog.com/avif-for-next-generation-image-coding-b1d75675fe4",
                                                                         },
                                                                         {
                                                                           title => "Safari support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=207750",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug for image sequence and animation",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1686338",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled in Firefox via the `image.avif.enabled` pref in `about:config`.",
                                                                         2 => "Supports still images. Animated image sequences are not supported.",
                                                                         3 => "Only available on macOS 13 Ventura or later.",
                                                                         4 => "Does not support images with noise synthesis.",
                                                                         5 => "Supports only still images by default. Animated image sequences can be enabled via the `image.avif.sequence.enabled` pref in `about:config`.",
                                                                         6 => "Can be enabled via the `--enable-features=msEdgeAVIF` runtime flag in insider channels.",
                                                                       },
                                                       spec         => "https://aomediacodec.github.io/av1-avif/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 85 => "y" },
                                                                         edge    => { "5.5" => "n", "114" => "n d #6", "118" => "n", "121" => "y" },
                                                                         firefox => { 2 => "n", 77 => "n d #1", 93 => "y #2", 111 => "y #5", 113 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "16.0" => "y #2 #4", "16.4" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 71 => "y" },
                                                                         safari  => { "3.1" => "n", "16.1" => "a #2 #3 #4", "16.4" => "y" },
                                                                         samsung => { "4" => "n", "14.0" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "AVIF image format",
                                                       ucprefix     => 0,
                                                     },
                "background-attachment"           => {
                                                       categories   => ["CSS"],
                                                       description  => "Method of defining how a background image is attached to a scrollable element. Values include `scroll` (default), `fixed` and `local`.",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - background-attachment",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/background-attachment",
                                                                         },
                                                                       ],
                                                       notes        => "Most mobile devices have a delay in updating the background position after scrolling a page with `fixed` backgrounds.",
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to supporting `fixed` but not `local`",
                                                                         2 => "Partial support refers to supporting `local` but not `fixed`",
                                                                         3 => "Only supports `local` when `-webkit-overflow-scrolling: touch` is _not_ used",
                                                                         4 => "Does not support `fixed`, and due [to a bug](https://bugs.chromium.org/p/chromium/issues/detail?id=627037) only supports `local` if a `border-radius` is set on the element.",
                                                                         5 => "Broken support of `fixed` and `local` when scrolling an outer scroll container. Related [to a bug](https://bugs.webkit.org/show_bug.cgi?id=219324).",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-background/#the-background-attachment",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.1" => "a #1", "4.4" => "n" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a #2" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "a #1", "9" => "y" },
                                                                         firefox => { 2 => "a #1", 25 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "13.0-13.1" => "n #5", "15.4" => "y", "3.2" => "n", "5.0-5.1" => "a #2 #3" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "a #1", 11 => "y" },
                                                                         opera   => { "9" => "a #1", "10.5" => "y" },
                                                                         safari  => { "3.1" => "a #1", "5" => "y", "13" => "a #1", "14" => "n #5", "15.4" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "a #4" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS background-attachment",
                                                       ucprefix     => 0,
                                                     },
                "background-clip-text"            => {
                                                       categories   => ["CSS"],
                                                       description  => "Clipping a background image to the foreground text.",
                                                       keywords     => "background-clip,text,clip",
                                                       links        => [
                                                                         {
                                                                           title => "[css-backgrounds] Standardize 'background-clip: text'",
                                                                           url => "https://lists.w3.org/Archives/Public/www-style/2016Mar/0283.html",
                                                                         },
                                                                         {
                                                                           title => "CSS Backgrounds and Borders Module Level 4",
                                                                           url => "https://drafts.csswg.org/css-backgrounds-4/#background-clip",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - background-clip",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/background-clip",
                                                                         },
                                                                       ],
                                                       notes        => "Firefox and legacy Edge also support this property with the `-webkit-` prefix.",
                                                       notes_by_num => {
                                                                         1 => "Doesn't work with a stacking context (e.g. `position: relative`), see [Chromium bug](https://crbug.com/1500148)",
                                                                         2 => "Doesn't work with flex/grid container, see [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=169125)",
                                                                       },
                                                       parent       => "background-img-opts",
                                                       spec         => "https://drafts.csswg.org/css-backgrounds-4/#background-clip",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "4" => "y x #1", "135" => "y #1" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y x #1" },
                                                                         and_uc  => { "15.5" => "y x #1" },
                                                                         baidu   => { "13.52" => "y x #1" },
                                                                         bb      => { 7 => "y x #1" },
                                                                         chrome  => { 4 => "y x #1", 120 => "y #1" },
                                                                         edge    => { "5.5" => "n", "12" => "y x", "15" => "y", "79" => "y x #1", "120" => "y #1" },
                                                                         firefox => { 2 => "n", 49 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "a #1 #2", "15.5" => "y #1" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "u", 80 => "y #1" },
                                                                         opera   => { 9 => "n", 15 => "y x #1", 106 => "y #1" },
                                                                         safari  => { "3.1" => "n", "3.2" => "a x #1 #2", "5" => "a #1 #2", "15.5" => "y #1" },
                                                                         samsung => { 4 => "y x #1", 25 => "y" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Background-clip: text",
                                                       ucprefix     => 0,
                                                     },
                "background-img-opts"             => {
                                                       categories   => ["CSS3"],
                                                       description  => "New properties to affect background images, including background-clip, background-origin and background-size",
                                                       links        => [
                                                                         {
                                                                           title => "Detailed compatibility tables and demos",
                                                                           url => "http://www.standardista.com/css3/css3-background-properties",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for IE7-8",
                                                                           url => "https://github.com/louisremi/background-size-polyfill",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - background-image",
                                                                           url => "https://developer.mozilla.org/en/docs/Web/CSS/background-image",
                                                                         },
                                                                       ],
                                                       notes        => "Firefox, Chrome and Safari support the unofficial `-webkit-background-clip: text` (only with prefix). Safari does not support `-webkit-background-clip: text;` for `<button>` elements. But you can put `<span>` inside `<button>` to get the same result.",
                                                       notes_by_num => {
                                                                         1 => "Partial support in Opera Mini refers to not supporting background sizing or background attachments. However Opera Mini 7.5 supports background sizing (including cover and contain values).",
                                                                         2 => "Partial support in Safari 6 refers to not supporting background sizing offset from edges syntax.",
                                                                         3 => "Does not support `background-size` values in the `background` shorthand",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-background/#backgrounds",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a x", "2.2" => "a x #3", "3" => "a #3", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "a #3", 15 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                                         firefox => { "2" => "n", "3.6" => "a x", "4" => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "a", "5.0-5.1" => "a #3", "6.0-6.1" => "a", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "a #1" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { "10.0-10.1" => "a x", "10.5" => "y", "9" => "n" },
                                                                         safari  => { "3.1" => "a #2 #3", "7" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS3 Background-image options",
                                                       ucprefix     => 0,
                                                     },
                "background-position-x-y"         => {
                                                       categories   => ["CSS"],
                                                       description  => "CSS longhand properties to define x or y positions separately.",
                                                       links        => [
                                                                         {
                                                                           title => "Firefox implementation bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=550426",
                                                                         },
                                                                         {
                                                                           title => "Blog post on background-position-x & y properties",
                                                                           url => "https://snook.ca/archives/html_and_css/background-position-x-y",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - background-position-x",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/background-position-x",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - background-position-y",
                                                                           url => "https://developer.mozilla.org/en/docs/Web/CSS/background-position-y",
                                                                         },
                                                                       ],
                                                       notes        => "A workaround for the lack of support in Firefox 31 - Firefox 48 is to use [CSS variables](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables). See [this Stack Overflow answer](https://stackoverflow.com/a/29282573/94197) for an example.",
                                                       notes_by_num => {},
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-backgrounds-4/#background-position-longhands",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "y" },
                                                                         firefox => { 2 => "n", 49 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "background-position-x & background-position-y",
                                                       ucprefix     => 0,
                                                     },
                "background-repeat-round-space"   => {
                                                       categories   => ["CSS3"],
                                                       description  => "Allows CSS background images to be repeated without clipping.",
                                                       keywords     => "4 value syntax,background-repeat: round,background-repeat: space",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - background-repeat",
                                                                           url => "https://developer.mozilla.org//docs/Web/CSS/background-repeat",
                                                                         },
                                                                         {
                                                                           title => "CSS-Tricks article on background-repeat",
                                                                           url => "https://css-tricks.com/almanac/properties/b/background-repeat/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "IE9 does not appear to render \"background-repeat: round\" correctly.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-background/#the-background-repeat",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 32 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "a #1", "10" => "y" },
                                                                         firefox => { 2 => "n", 49 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "n", 11 => "y" },
                                                                         opera   => { "9" => "n", "10.5" => "y", "15" => "n", "19" => "y" },
                                                                         safari  => { "3.1" => "n", "7" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS background-repeat round and space",
                                                       ucprefix     => 0,
                                                     },
                "background-sync"                 => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 6170807885627392,
                                                       description  => "Provides one-off and periodic synchronization for Service Workers with an onsync event.",
                                                       keywords     => "syncmanager",
                                                       links        => [
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1217544",
                                                                         },
                                                                         {
                                                                           title => "SyncManager on MDN Web Docs",
                                                                           url => "https://developer.mozilla.org/docs/Web/API/SyncManager",
                                                                         },
                                                                         {
                                                                           title => "Google Developers blog: Introducing Background Sync",
                                                                           url => "https://developers.google.com/web/updates/2015/12/background-sync",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://wicg.github.io/BackgroundSync/spec/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 49 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 139 => "u" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 42 => "y" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Background Sync API",
                                                       ucprefix     => 0,
                                                     },
                "battery-status"                  => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 4537134732017664,
                                                       description  => "Method to provide information about the battery status of the hosting device.",
                                                       keywords     => "navigator.battery,navigator.getbattery,batterymanager",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - battery status",
                                                                           url => "https://developer.mozilla.org/en-US/docs/WebAPI/Battery_Status",
                                                                         },
                                                                         {
                                                                           title => "Simple demo",
                                                                           url => "https://pazguille.github.io/demo-battery-api/",
                                                                         },
                                                                       ],
                                                       notes        => "Firefox 52+ [removed access to this API due to privacy concerns.](https://bugzilla.mozilla.org/show_bug.cgi?id=1313580)",
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to support for the older specification's `navigator.battery` rather than `navigator.getBattery()` to access the `BatteryManager`.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/battery-status/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 37 => "n d", 38 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 10 => "a x #1", 16 => "a #1", 43 => "y", 52 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y", "3.0-3.1" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 25 => "y" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Battery Status API",
                                                       ucprefix     => 0,
                                                     },
                "beacon"                          => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5517433905348608,
                                                       description  => "Allows data to be sent asynchronously to a server with `navigator.sendBeacon`, even after a page was closed. Useful for posting analytics data the moment a user was finished using the page.",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Beacon",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/beacon/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 39 => "y" },
                                                                         edge    => { "5.5" => "n", "14" => "y" },
                                                                         firefox => { 2 => "n", 31 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.3-11.4" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 26 => "y" },
                                                                         safari  => { "3.1" => "n", "11.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Beacon API",
                                                       ucprefix     => 0,
                                                     },
                "beforeafterprint"                => {
                                                       categories   => ["HTML5", "JS API"],
                                                       chrome_id    => 5700595042222080,
                                                       description  => "Window fires `beforeprint` and `afterprint` events so the printed document can be annotated.",
                                                       keywords     => "print,printer,printing,beforeprint,afterprint",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Detecting print requests",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/Guide/Printing#Detecting_print_requests",
                                                                         },
                                                                         {
                                                                           title => "Chrome support bug",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=218205",
                                                                         },
                                                                         {
                                                                           title => "Safari support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=19937",
                                                                         },
                                                                       ],
                                                       notes        => "Due to its wider support, consider using `window.matchMedia('print')` where possible.",
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#printing",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "u" },
                                                                         chrome  => { 4 => "n", 63 => "y" },
                                                                         edge    => { "5.5" => "u", "6" => "y" },
                                                                         firefox => { 2 => "n", 6 => "y" },
                                                                         ie_mob  => { 10 => "u" },
                                                                         ios_saf => { "13.0-13.1" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 50 => "y" },
                                                                         safari  => { "3.1" => "n", "13" => "y" },
                                                                         samsung => { "4" => "u", "5.0-5.4" => "n" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Printing Events",
                                                       ucprefix     => 0,
                                                     },
                "bigint"                          => {
                                                       categories   => ["JS"],
                                                       chrome_id    => 5371603852460032,
                                                       description  => "Arbitrary-precision integers in JavaScript.",
                                                       keywords     => "int,integer,precision",
                                                       links        => [
                                                                         {
                                                                           title => "GitHub repository",
                                                                           url => "https://github.com/tc39/proposal-bigint",
                                                                         },
                                                                         {
                                                                           title => "Blog article from Google Developer",
                                                                           url => "https://developers.google.com/web/updates/2018/05/bigint",
                                                                         },
                                                                         {
                                                                           title => "Blog article from Dr. Axel Rauschmayer",
                                                                           url => "https://2ality.com/2017/03/es-integer.html",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt",
                                                                         },
                                                                         {
                                                                           title => "Firefox implementation bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1366287",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled by setting `javascript.options.bigint` to \"True\" in `about:config`",
                                                                       },
                                                       spec         => "https://tc39.es/ecma262/#sec-bigint-objects",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 67 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 65 => "n d #1", 68 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "14.0-14.4" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 54 => "y" },
                                                                         safari  => { "3.1" => "n", "14" => "y" },
                                                                         samsung => { "4" => "n", "9.2" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "BigInt",
                                                       ucprefix     => 0,
                                                     },
                "blobbuilder"                     => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5328783104016384,
                                                       description  => "Construct Blobs (binary large objects) either using the BlobBuilder API (deprecated) or the Blob constructor.",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - BlobBuilder",
                                                                           url => "https://developer.mozilla.org/en/DOM/BlobBuilder",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Blobs",
                                                                           url => "https://developer.mozilla.org/en-US/docs/DOM/Blob",
                                                                         },
                                                                       ],
                                                       notes        => "Partial support refers to only supporting the now deprecated BlobBuilder to create blobs.",
                                                       notes_by_num => {},
                                                       parent       => "fileapi",
                                                       spec         => "https://www.w3.org/TR/FileAPI/#constructorBlob",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "3" => "a x", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 8 => "a x", 20 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "n", 6 => "a x", 13 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "6.0-6.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "n", "12.1" => "y" },
                                                                         opera   => { "9" => "n", "12.1" => "y" },
                                                                         safari  => { "3.1" => "n", "6" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Blob constructing",
                                                       ucprefix     => 1,
                                                     },
                "bloburls"                        => {
                                                       categories   => ["JS API"],
                                                       description  => "Method of creating URL handles to the specified File or Blob object.",
                                                       keywords     => "createobjecturl,revokeobjecturl",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - createObjectURL",
                                                                           url => "https://developer.mozilla.org/en/DOM/window.URL.createObjectURL",
                                                                         },
                                                                       ],
                                                       notes_by_num => { 1 => "Created blob url can't be used as object or iframe src" },
                                                       parent       => "fileapi",
                                                       spec         => "https://www.w3.org/TR/FileAPI/#url",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4" => "y x", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 8 => "y x", 23 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y #1", "15" => "y" },
                                                                         firefox => { 2 => "n", 4 => "y" },
                                                                         ie_mob  => { 10 => "n", 11 => "y" },
                                                                         ios_saf => { "3.2" => "n", "6.0-6.1" => "y x", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "6" => "y x", "6.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Blob URLs",
                                                       ucprefix     => 0,
                                                     },
                "border-image"                    => {
                                                       categories   => ["CSS3"],
                                                       description  => "Method of using images for borders",
                                                       keywords     => "border-image-source,border-image-slice,border-image-repeat,border-image-width,,border-image-outset",
                                                       links        => [
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/properties/border-image",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Border image",
                                                                           url => "https://developer.mozilla.org//docs/Web/CSS/border-image",
                                                                         },
                                                                       ],
                                                       notes        => "Note that both the `border-style` and `border-width` must be specified (not set to `none` or 0) for border-images to work.",
                                                       notes_by_num => {
                                                                         1 => "Has a bug where `border-image` incorrectly overrides `border-style`. See [test case](https://codepen.io/Savago/pen/yYrgyK), [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=99922), [discussion](https://github.com/whatwg/compat/issues/17)",
                                                                         2 => "Partial support refers to not supporting `border-image-repeat: space`",
                                                                         3 => "Partial support refers to supporting the shorthand syntax, but not the individual properties (`border-image-source`, `border-image-slice`, etc). ",
                                                                         4 => "Partial support refers to not supporting `border-image-repeat: round`",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-background/#border-images",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a x #1 #2 #3 #4", "4.4" => "a #1 #2", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a #1 #2 #3 #4", 10 => "a #1 #2 #4" },
                                                                         chrome  => {
                                                                                      4  => "a x #1 #2 #3 #4",
                                                                                      15 => "a #1 #2 #4",
                                                                                      30 => "a #1 #2",
                                                                                      51 => "a #2",
                                                                                      56 => "y",
                                                                                    },
                                                                         edge    => { "5.5" => "n", "11" => "y", "12" => "y #1", "14" => "y" },
                                                                         firefox => { "2" => "n", "3.5" => "a x #2 #3", "15" => "a #2", "50" => "y" },
                                                                         ie_mob  => { 10 => "n", 11 => "y" },
                                                                         ios_saf => {
                                                                                      "15.4"    => "y",
                                                                                      "3.2"     => "a x #1 #2 #3 #4",
                                                                                      "6.0-6.1" => "a #1 #2 #4",
                                                                                      "9.3"     => "y #1",
                                                                                    },
                                                                         kaios   => { "2.5" => "a #2", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "a x #2 #3 #4" },
                                                                         op_mob  => { 10 => "n", 11 => "a x #2 #3 #4", 80 => "y" },
                                                                         opera   => {
                                                                                      "9"    => "n",
                                                                                      "10.5" => "a #2 #3 #4",
                                                                                      "11"   => "a x #2 #3 #4",
                                                                                      "15"   => "a #1 #2",
                                                                                      "38"   => "a #2",
                                                                                      "43"   => "y",
                                                                                    },
                                                                         safari  => {
                                                                                      "3.1"  => "a x #1 #2 #3 #4",
                                                                                      "6"    => "a #1 #2 #4",
                                                                                      "9.1"  => "y #1",
                                                                                      "15.4" => "y",
                                                                                    },
                                                                         samsung => { "4" => "a #1 #2", "5.0-5.4" => "a #2", "7.2-7.4" => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS3 Border images",
                                                       ucprefix     => 0,
                                                     },
                "border-radius"                   => {
                                                       categories   => ["CSS3"],
                                                       description  => "Method of making the border corners round. Covers support for the shorthand `border-radius` as well as the long-hand properties (e.g. `border-top-left-radius`)",
                                                       keywords     => "roundedcorners, border radius,-moz-border-radius",
                                                       links        => [
                                                                         {
                                                                           title => "Border-radius CSS Generator",
                                                                           url => "https://border-radius.com",
                                                                         },
                                                                         {
                                                                           title => "Detailed compliance table",
                                                                           url => "https://muddledramblings.com/table-of-css3-border-radius-compliance",
                                                                         },
                                                                         {
                                                                           title => "Polyfill which includes border-radius",
                                                                           url => "http://css3pie.com/",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/properties/border-radius",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - CSS border-radius",
                                                                           url => "https://developer.mozilla.org/en/docs/Web/CSS/border-radius",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Safari 6.1 and earlier did not apply `border-radius` correctly to image borders: https://stackoverflow.com/q/17202128",
                                                                         2 => "Dotted and dashed rounded border corners are rendered as solid in Firefox. [see bug](https://bugzilla.mozilla.org/show_bug.cgi?id=382721)",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-background/#the-border-radius",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y x", "2.2" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y x", 5 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                                         firefox => { 2 => "a x #2", 3 => "y x #2", 4 => "y #2", 50 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y x", "4.0-4.1" => "y" },
                                                                         kaios   => { "2.5" => "y #2", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 11 => "y" },
                                                                         opera   => { "9" => "n", "10.5" => "y" },
                                                                         safari  => { "3.1" => "y x", "5" => "y", "5.1" => "y #1", "7" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS3 Border-radius (rounded corners)",
                                                       ucprefix     => 0,
                                                     },
                "broadcastchannel"                => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 4585496197988352,
                                                       description  => "BroadcastChannel allows scripts from the same origin but other browsing contexts (windows, workers) to send each other messages.",
                                                       keywords     => "broadcast,channel,messaging",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Broadcast Channel",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel",
                                                                         },
                                                                         {
                                                                           title => "Shim - Broadcast Channel based on Localstorage, Indexeddb or Sockets",
                                                                           url => "https://github.com/pubkey/broadcast-channel",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/comms.html#broadcasting-to-other-browsing-contexts",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 54 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 38 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "15.4" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 41 => "y" },
                                                                         safari  => { "3.1" => "n", "15.4" => "y" },
                                                                         samsung => { "4" => "n", "7.2-7.4" => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "BroadcastChannel",
                                                       ucprefix     => 0,
                                                     },
                "brotli"                          => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 5420797577396224,
                                                       description  => "More effective lossless compression algorithm than gzip and deflate.",
                                                       keywords     => "http,compression,accept,content,encoding",
                                                       links        => [
                                                                         {
                                                                           title => "Introducing Brotli",
                                                                           url => "https://opensource.googleblog.com/2015/09/introducing-brotli-new-compression.html",
                                                                         },
                                                                         {
                                                                           title => "Blink's intent to ship",
                                                                           url => "https://groups.google.com/a/chromium.org/forum/m/#!msg/blink-dev/JufzX024oy0/WEOGbN43AwAJ",
                                                                         },
                                                                         {
                                                                           title => "Official code repository",
                                                                           url => "https://github.com/google/brotli",
                                                                         },
                                                                         {
                                                                           title => "WebKit Bug 154859: Add support for format brotli for HTTP compression",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=154859",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Supported in Chrome and Opera behind the 'Brotli Content-Encoding' flag",
                                                                         2 => "Enabled since 27 May 2016",
                                                                         3 => "Support starting with macOS 10.13 High Sierra",
                                                                       },
                                                       spec         => "https://tools.ietf.org/html/rfc7932",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 49 => "n d #1", 50 => "y #2", 51 => "y" },
                                                                         edge    => { "5.5" => "n", "15" => "y" },
                                                                         firefox => { 2 => "n", 44 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.0-11.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 36 => "n d #1", 38 => "y" },
                                                                         safari  => { "3.1" => "n", "11" => "y #3", "13" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Brotli Accept-Encoding/Content-Encoding",
                                                       ucprefix     => 0,
                                                     },
                "calc"                            => {
                                                       categories   => ["CSS3"],
                                                       chrome_id    => 5765241438732288,
                                                       description  => "Method of allowing calculated values for length units, i.e. `width: calc(100% - 3em)`",
                                                       links        => [
                                                                         {
                                                                           title => "Mozilla Hacks article",
                                                                           url => "https://hacks.mozilla.org/2010/06/css3-calc/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - calc",
                                                                           url => "https://developer.mozilla.org/en/docs/Web/CSS/calc",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/functions/calc",
                                                                         },
                                                                       ],
                                                       notes        => "Support can be somewhat emulated in older versions of IE using the non-standard `expression()` syntax.\r\n\r\nDue to the way browsers handle [sub-pixel rounding](https://johnresig.com/blog/sub-pixel-problems-in-css/) differently, layouts using `calc()` expressions may have unexpected results.",
                                                       notes_by_num => {
                                                                         1 => "Partial support in Android Browser 4.4 refers to the browser lacking the ability to multiply and divide values.",
                                                                         2 => "Partial support in IE9 refers to the browser crashing when used as a `background-position` value.",
                                                                         3 => "Partial support in IE10/IE11 refers to calc not working properly with various use cases mentioned in known issues",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-values-3/#calc-notation",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "a #1", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 19 => "y x", 26 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "a #2", "10" => "a #3", "12" => "y" },
                                                                         firefox => { 2 => "n", 4 => "y x", 16 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "6.0-6.1" => "y x", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "6" => "y x", "6.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "calc() as CSS unit value",
                                                       ucprefix     => 0,
                                                     },
                "canvas"                          => {
                                                       categories   => ["Canvas", "HTML5"],
                                                       chrome_id    => 5100084685438976,
                                                       description  => "Method of generating fast, dynamic graphics using JavaScript.",
                                                       keywords     => "canvas,toDataURL()",
                                                       links        => [
                                                                         {
                                                                           title => "Tutorial by Mozilla",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial",
                                                                         },
                                                                         {
                                                                           title => "Animation kit",
                                                                           url => "http://glimr.rubyforge.org/cake/canvas.html",
                                                                         },
                                                                         {
                                                                           title => "Another tutorial",
                                                                           url => "https://diveintohtml5.info/canvas.html",
                                                                         },
                                                                         {
                                                                           title => "Implementation for Internet Explorer",
                                                                           url => "https://github.com/arv/ExplorerCanvas",
                                                                         },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/graphics.js#canvas",
                                                                         },
                                                                         {
                                                                           title => "Canvas Tutorial & Cheat Sheet",
                                                                           url => "https://skilled.co/html-canvas/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Canvas API",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API",
                                                                         },
                                                                       ],
                                                       notes        => "For screen readers, IE, Chrome & Firefox support the [accessible canvas element sub-DOM](http://www.paciellogroup.com/blog/2012/06/html5-canvas-accessibility-in-firefox-13/).\r\nFirefox & Chrome also support the drawfocus ring.",
                                                       notes_by_num => {
                                                                         1 => "Does not support `toDataURL()`",
                                                                         2 => "Opera Mini supports the canvas element, but is unable to play animations or run other more complex applications.",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/scripting.html#the-canvas-element",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a #1", "3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "6" => "p", "9" => "y" },
                                                                         firefox => { "2" => "a #1", "3.6" => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "a #2" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { 9 => "y" },
                                                                         safari  => { "3.1" => "a #1", "4" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Canvas (basic support)",
                                                       ucprefix     => 0,
                                                     },
                "canvas-blending"                 => {
                                                       categories   => ["Canvas"],
                                                       description  => "Method of defining the effect resulting from overlaying two layers on a Canvas element.",
                                                       links        => [
                                                                         {
                                                                           title => "Blog post",
                                                                           url => "https://blogs.adobe.com/webplatform/2013/01/28/blending-features-in-canvas/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       parent       => "canvas",
                                                       spec         => "https://www.w3.org/TR/compositing-1/#blending",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 30 => "y" },
                                                                         edge    => { "5.5" => "n", "13" => "y" },
                                                                         firefox => { 2 => "n", 20 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 17 => "y" },
                                                                         safari  => { "3.1" => "n", "6.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Canvas blend modes",
                                                       ucprefix     => 0,
                                                     },
                "canvas-text"                     => {
                                                       categories   => ["Canvas", "HTML5"],
                                                       description  => "Method of displaying text on Canvas elements",
                                                       links        => [
                                                                         {
                                                                           title => "Examples by Mozilla",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Drawing_text",
                                                                         },
                                                                         {
                                                                           title => "Support library",
                                                                           url => "https://code.google.com/archive/p/canvas-text/",
                                                                         },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/graphics.js#canvas-text",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/apis/canvas/CanvasRenderingContext2D/fillText",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       parent       => "canvas",
                                                       spec         => "https://html.spec.whatwg.org/multipage/scripting.html#drawing-text-to-the-bitmap",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "6" => "p", "9" => "y" },
                                                                         firefox => { "2" => "p", "3.5" => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "p", 11 => "y" },
                                                                         opera   => { "9" => "p", "10.5" => "y" },
                                                                         safari  => { "3.1" => "p", "4" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Text API for Canvas",
                                                       ucprefix     => 0,
                                                     },
                "ch-unit"                         => {
                                                       categories   => ["CSS3"],
                                                       description  => "Unit representing the width of the character \"0\" in the current font, of particular use in combination with monospace fonts.",
                                                       keywords     => "ch unit,character unit",
                                                       links        => [
                                                                         {
                                                                           title => "Blog post on using ch units",
                                                                           url => "https://johndjameson.com/posts/making-sense-of-ch-units",
                                                                         },
                                                                         {
                                                                           title => "What is the CSS \x{2018}ch\x{2019} Unit?",
                                                                           url => "https://meyerweb.com/eric/thoughts/2018/06/28/what-is-the-css-ch-unit/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "IE supports the `ch` unit, but unlike other browsers its width is that specifically of the \"0\" glyph, not its surrounding space. As a result, 3ch for example is shorter than the width of the string \"000\" in IE.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-values/#ch",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 27 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "a #1", "12" => "y" },
                                                                         firefox => { 2 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "7" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "ch (character) unit",
                                                       ucprefix     => 0,
                                                     },
                "chacha20-poly1305"               => {
                                                       categories   => ["Security"],
                                                       chrome_id    => 5355238106071040,
                                                       description  => "A set of cipher suites used in Transport Layer Security (TLS) protocol, using ChaCha20 for symmetric encryption and Poly1305 for authentication.",
                                                       keywords     => "chacha20,poly1305,tls,cipher",
                                                       links        => [
                                                                         {
                                                                           title => "Chrome article",
                                                                           url => "https://security.googleblog.com/2014/04/speeding-up-and-strengthening-https.html",
                                                                         },
                                                                         {
                                                                           title => "SSL/TLS Capabilities of Your Browser by Qualys SSL Labs",
                                                                           url => "https://www.ssllabs.com/ssltest/viewMyClient.html",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Old versions of Chrome use non-standard code points for ChaCha20-Poly1305 cipher suites.",
                                                                       },
                                                       spec         => "https://tools.ietf.org/html/rfc7905",
                                                       stats        => {
                                                                         and_chr => { "135" => "y", "2.1" => "n", "4.4.3-4.4.4" => "u" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 33 => "y #1", 49 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 47 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.0-11.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 36 => "y" },
                                                                         safari  => { "3.1" => "n", "11.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "ChaCha20-Poly1305 cipher suites for TLS",
                                                       ucprefix     => 0,
                                                     },
                "channel-messaging"               => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 6710044586409984,
                                                       description  => "Method for having two-way communication between browsing contexts (using MessageChannel)",
                                                       links        => [
                                                                         {
                                                                           title => "An Introduction to HTML5 web messaging",
                                                                           url => "https://dev.opera.com/articles/view/window-postmessage-messagechannel/#channel",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Channel Messaging API",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Channel_Messaging_API",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Supported in Firefox behind the `dom.messageChannel.enabled` flag. Reported to not work in web workers before version 41.",
                                                                       },
                                                       parent       => "x-doc-messaging",
                                                       spec         => "https://html.spec.whatwg.org/multipage/comms.html#channel-messaging",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "n", 26 => "n d #1", 41 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 11 => "y" },
                                                                         opera   => { "9" => "n", "10.5" => "u", "10.6" => "y" },
                                                                         safari  => { "3.1" => "n", "5" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Channel messaging",
                                                       ucprefix     => 0,
                                                     },
                "childnode-remove"                => {
                                                       categories   => ["DOM"],
                                                       description  => "DOM node method to remove the node itself from the document.",
                                                       keywords     => "ChildNode,remove,delete,node,DOM",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - ChildNode.remove",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/ChildNode/remove",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://dom.spec.whatwg.org/#dom-childnode-remove",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 24 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "u", "13" => "y" },
                                                                         firefox => { 2 => "n", 23 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "6" => "u", "6.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "ChildNode.remove()",
                                                       ucprefix     => 0,
                                                     },
                "classlist"                       => {
                                                       categories   => ["DOM", "HTML5"],
                                                       description  => "Method of easily manipulating classes on elements, using the `DOMTokenList` object.",
                                                       keywords     => "classlist.contains(),classlist.toggle(),classlist.add(),classlist.remove()",
                                                       links        => [
                                                                         {
                                                                           title => "Mozilla Hacks article",
                                                                           url => "https://hacks.mozilla.org/2010/01/classlist-in-firefox-3-6/",
                                                                         },
                                                                         {
                                                                           title => "Polyfill script",
                                                                           url => "https://github.com/eligrey/classList.js",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/dom/Element/classList",
                                                                         },
                                                                         {
                                                                           title => "SitePoint article",
                                                                           url => "https://www.sitepoint.com/exploring-classlist-api/",
                                                                         },
                                                                         {
                                                                           title => "Demo using classList",
                                                                           url => "https://www.audero.it/demo/classlist-api-demo.html",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Element.classList",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Element.classList",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Does not have support for `classList` on SVG or MathML elements.",
                                                                         2 => "Does not support the second parameter for the `toggle` method",
                                                                         3 => "Does not support multiple parameters for the `add()` & `remove()` methods",
                                                                         4 => "Does not support assign to `classList` or the `replace()` method",
                                                                       },
                                                       spec         => "https://dom.spec.whatwg.org/#dom-element-classlist",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "p", "3" => "a #1 #2 #3", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a #1 #2 #3", 10 => "y" },
                                                                         chrome  => { 4 => "p", 8 => "a #1 #2 #3", 23 => "a #2 #3", 24 => "a #3", 28 => "y" },
                                                                         edge    => { "5.5" => "p", "10" => "a #1 #2 #3 #4", "12" => "y" },
                                                                         firefox => { "2" => "p", "3.6" => "a #2 #3", "24" => "a #3", "26" => "y" },
                                                                         ie_mob  => { 10 => "a #1 #2 #3" },
                                                                         ios_saf => { "3.2" => "p", "5.0-5.1" => "a #1 #2 #3", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "a #1 #2 #3" },
                                                                         op_mob  => { "10" => "p", "11.1" => "a #1 #2 #3", "80" => "y" },
                                                                         opera   => { "9" => "p", "11.5" => "a #1 #2 #3", "15" => "y" },
                                                                         safari  => { "3.1" => "p", "5.1" => "a #1 #2 #3", "7" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "classList (DOMTokenList)",
                                                       ucprefix     => 0,
                                                     },
                "client-hints-dpr-width-viewport" => {
                                                       categories   => ["DOM"],
                                                       chrome_id    => 5504430086553600,
                                                       description  => "DPR, Width, and Viewport-Width hints enable proactive content negotiation between client and server, enabling automated delivery of optimized assets - e.g. auto-negotiating image DPR resolution.",
                                                       keywords     => "client hints, client-hints, dpr, viewport, content-dpr",
                                                       links        => [
                                                                         {
                                                                           title => "Automating resource selection with Client Hints",
                                                                           url => "https://developers.google.com/web/updates/2015/09/automating-resource-selection-with-client-hints",
                                                                         },
                                                                         {
                                                                           title => "Mozilla Bug 935216 - Implement Client-Hints HTTP header",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=935216",
                                                                         },
                                                                         {
                                                                           title => "WebKit Bug 145380 - Add Content-DPR header support",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=145380",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://tools.ietf.org/html/draft-grigorik-http-client-hints",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 46 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 33 => "y" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Client Hints: DPR, Width, Viewport-Width",
                                                       ucprefix     => 0,
                                                     },
                "clipboard"                       => {
                                                       categories   => ["JS API"],
                                                       description  => "API to provide copy, cut and paste events as well as provide access to the OS clipboard.",
                                                       keywords     => "cut,copy,paste,clipboarddata,clipboardevent",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - ClipboardEvent",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/ClipboardEvent",
                                                                         },
                                                                         {
                                                                           title => "Guide on cross-platform clipboard access",
                                                                           url => "https://www.lucidchart.com/techblog/2014/12/02/definitive-guide-copying-pasting-javascript/",
                                                                         },
                                                                       ],
                                                       notes        => "Internet Explorer will display a security prompt for access to the OS clipboard.\r\n\r\nChrome 42+, Opera 29+ and Firefox 41+ support clipboard reading/writing only when part of a user action (click, keydown, etc).",
                                                       notes_by_num => {
                                                                         1 => "Only supports `Text` and `URL` data types and uses [a non-standard method](https://msdn.microsoft.com/en-us/library/ie/ms535220%28v=vs.85%29.aspx) of interacting with the clipboard.",
                                                                         2 => "Only fires `copy` event on a valid selection and only `cut` and `paste` in focused editable fields.",
                                                                         3 => "Only supports OS clipboard reading/writing via shortcut keys, not through `document.execCommand()`.",
                                                                         4 => "Only supports `paste` event (on focused editable field).",
                                                                         5 => "Does not support the `ClipboardEvent` constructor",
                                                                         6 => "Supports `cut` & `copy` events without a focused editable field, but not `paste` (presumably for security reasons)",
                                                                         7 => "Supports `cut` & `copy` events without a focused editable field, but does not fire `paste` with `document.execCommand('paste')`  ",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/clipboard-apis/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "a #2 #5", "135" => "a #2" },
                                                                         and_ff  => { 137 => "a #4" },
                                                                         and_qq  => { "14.9" => "a #7" },
                                                                         and_uc  => { "15.5" => "a #7" },
                                                                         baidu   => { "13.52" => "a #7" },
                                                                         bb      => { 7 => "n", 10 => "a #2 #5" },
                                                                         chrome  => { 4 => "n", 13 => "a #3 #5", 43 => "a #5 #7", 58 => "a #7" },
                                                                         edge    => { "5.5" => "a #1 #2 #5", "17" => "a #2", "79" => "a #7" },
                                                                         firefox => { 2 => "n", 22 => "a #2 #3", 41 => "a #6" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "12.0-12.1" => "y", "3.2" => "n", "5.0-5.1" => "a #2 #3 #5" },
                                                                         kaios   => { "2.5" => "a #6" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "n", "12.1" => "u", "80" => "a #7" },
                                                                         opera   => {
                                                                                      "9"    => "n",
                                                                                      "12"   => "u",
                                                                                      "12.1" => "a #3",
                                                                                      "15"   => "a #3 #5",
                                                                                      "30"   => "a #5 #7",
                                                                                      "45"   => "a #7",
                                                                                    },
                                                                         safari  => { "3.1" => "u", "4" => "a #2 #3 #5", "10" => "a #2 #5", "12" => "y" },
                                                                         samsung => { "4" => "a #2 #5", "5.0-5.4" => "a #5", "7.2-7.4" => "a #7" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Synchronous Clipboard API",
                                                       ucprefix     => 0,
                                                     },
                "colr"                            => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 5897235770376192,
                                                       description  => "The COLR table adds support for multi-colored glyphs in a manner that integrates with the rasterizers of existing text engines. COLRv0 only supports pure colors, does not support gradients, transformations and various blending modes.",
                                                       keywords     => "colr,cpal,font,color-font,fontface,webfonts",
                                                       links        => [
                                                                         {
                                                                           title => "Where can I use color fonts",
                                                                           url => "https://www.colorfonts.wtf/#w-node-85d8080e63a6-0134536f",
                                                                         },
                                                                         {
                                                                           title => "DirectWrite's color fonts document",
                                                                           url => "https://docs.microsoft.com/en-us/windows/win32/directwrite/color-fonts",
                                                                         },
                                                                         {
                                                                           title => "A tool to check whether the browser supports OpenType color formats",
                                                                           url => "https://pixelambacht.nl/chromacheck/",
                                                                         },
                                                                         {
                                                                           title => "A variable color font",
                                                                           url => "https://www.harbortype.com/fonts/rocher-color/",
                                                                         },
                                                                         {
                                                                           title => "Make COLR/CPAL format fonts in Glyphs app",
                                                                           url => "https://glyphsapp.com/learn/creating-a-microsoft-color-font",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Supported only on Safari for macOS High Sierra (10.13)+",
                                                                         2 => "Supported only on Windows 8.1+",
                                                                         3 => "On Windows pre 8.1 and macOS Sierra (10.12) and below falls back to using FreeType: [Chromium bug 882844](https://bugs.chromium.org/p/chromium/issues/detail?id=882844#c3)",
                                                                         4 => "COLRv0 support was disabled by a regression bug in Safari 17.0 and 17.1: [Issue 262223](https://bugs.webkit.org/show_bug.cgi?id=262223)",
                                                                       },
                                                       parent       => "fontface",
                                                       spec         => "https://docs.microsoft.com/en-us/typography/opentype/spec/colr",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "u" },
                                                                         chrome  => { 4 => "n", 71 => "y #3", 110 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y #2", "12" => "y", "79" => "y #3", "110" => "y" },
                                                                         firefox => { 2 => "n", 32 => "y" },
                                                                         ie_mob  => { 10 => "u" },
                                                                         ios_saf => { "11.0-11.2" => "y", "17.0" => "n #4", "17.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 58 => "y #3", 96 => "y" },
                                                                         safari  => { "3.1" => "n", "11" => "y #1", "14" => "y", "17.0" => "n #4", "17.2" => "y" },
                                                                         samsung => { "4" => "n", "10.1" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "COLR/CPAL(v0) Font Formats",
                                                       ucprefix     => 0,
                                                     },
                "colr-v1"                         => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 5638148514119680,
                                                       description  => "COLRv1 is an improved version of COLRv0, this is also part of the OpenType specification. COLRv1 supports additional graphic capabilities. In addition to solid colors, gradient fills can be used, as well as more complex fills using other graphic operations, including affine transformations and various blending modes.",
                                                       keywords     => "colr,colrv1,cpal,font,color-font,fontface,webfonts",
                                                       links        => [
                                                                         {
                                                                           title => "COLRv1 Color Gradient Vector Fonts in Chrome 98",
                                                                           url => "https://developer.chrome.com/blog/colrv1-fonts/",
                                                                         },
                                                                         {
                                                                           title => "COLRv1 version of Noto Emoji",
                                                                           url => "https://github.com/googlefonts/color-fonts",
                                                                         },
                                                                         {
                                                                           title => "A tool to check whether the browser supports OpenType color formats",
                                                                           url => "https://pixelambacht.nl/chromacheck/",
                                                                         },
                                                                         {
                                                                           title => "Where can I use color fonts",
                                                                           url => "https://www.colorfonts.wtf/#w-node-85d8080e63a6-0134536f",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1740525",
                                                                         },
                                                                         {
                                                                           title => "WebKit position",
                                                                           url => "https://lists.webkit.org/pipermail/webkit-dev/2021-March/031765.html",
                                                                         },
                                                                         {
                                                                           title => "First Batch of Color Fonts Arrives on Google Fonts",
                                                                           url => "https://material.io/blog/color-fonts-are-here",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled with the \"COLR v1 Fonts\" feature flag under `chrome://flags`",
                                                                         2 => "Firefox actively supports this format and will consider implementing it in the future: [https://mozilla.github.io/standards-positions/#font-colrv1](https://mozilla.github.io/standards-positions/#font-colrv1)",
                                                                         3 => "Can be enabled by setting `gfx.font_rendering.colr_v1.enabled` to true",
                                                                       },
                                                       parent       => "fontface",
                                                       spec         => "https://docs.microsoft.com/en-us/typography/opentype/spec/colr",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "u" },
                                                                         chrome  => { 4 => "n", 90 => "n d #1", 98 => "y" },
                                                                         edge    => { "5.5" => "n", "98" => "y" },
                                                                         firefox => { 2 => "n", 98 => "n #2", 105 => "n d #3", 107 => "y" },
                                                                         ie_mob  => { 10 => "u" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 86 => "y" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { "4" => "n", "18.0" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "COLR/CPAL(v1) Font Formats",
                                                       ucprefix     => 0,
                                                     },
                "comparedocumentposition"         => {
                                                       categories   => ["DOM"],
                                                       description  => "Compares the relative position of two nodes to each other in the DOM tree.",
                                                       keywords     => "Node,compareDocumentPosition,compare,document,position,preceding,following,disconnected,before,after,contains,contained,DOM",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Node.compareDocumentPosition",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "The spec requires that comparisons of nodes in different documents, and comparisons where at least one node is not in any document, must arbitrarily (but consistently) set either the `DOCUMENT_POSITION_PRECEDING` or `DOCUMENT_POSITION_FOLLOWING` bit in the result. These browser versions don't set either bit in some such cases.",
                                                                         2 => "Sets neither the `DOCUMENT_POSITION_DISCONNECTED` bit nor the `DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC` bit in some cases when comparing nodes in different documents or when comparing a node which is not in any document.",
                                                                       },
                                                       spec         => "https://dom.spec.whatwg.org/#dom-node-comparedocumentposition",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "a #1", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a #1" },
                                                                         chrome  => { 4 => "u", 15 => "a #1", 30 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                                         firefox => { 2 => "u", 4 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "10.0-10.2" => "y", "3.2" => "u", "4.0-4.1" => "a #1" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "u", 12 => "y" },
                                                                         opera   => { "9" => "u", "11.6" => "y", "15" => "a #1", "17" => "y" },
                                                                         safari  => { "3.1" => "u", "5.1" => "a #2", "6" => "u", "6.1" => "a #1", "10" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Node.compareDocumentPosition()",
                                                       ucprefix     => 0,
                                                     },
                "console-basic"                   => {
                                                       categories   => ["JS API"],
                                                       description  => "Method of outputting data to the browser's console, intended for development purposes.",
                                                       keywords     => "console.log,console.info,console.warn,console.error,window.console",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Console",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Console",
                                                                         },
                                                                         {
                                                                           title => "Chrome console reference",
                                                                           url => "https://developer.chrome.com/devtools/docs/console-api",
                                                                         },
                                                                         {
                                                                           title => "Edge/Internet Explorer console reference",
                                                                           url => "https://msdn.microsoft.com/en-us/library/hh772169",
                                                                         },
                                                                       ],
                                                       notes        => "The basic functions that this information refers to include `console.log`, `console.info`, `console.warn`, `console.error`.",
                                                       notes_by_num => {
                                                                         1 => "Only supports console functions when developer tools are open, otherwise the `console` object is undefined and any calls will throw errors.",
                                                                         2 => "Allows `console` functions to be used without throwing errors, but does not appear to output the data anywhere.",
                                                                         3 => "Log output on iOS 6+ Safari can only be seen by connecting to a Mac and using the [Safari debugger](https://developer.apple.com/safari/tools/).",
                                                                         4 => "Log output on older Android browsers can be retrieved via Android's `logcat` command or using Chrome Developer Tools in Android 4.4+/Chrome for Android [see details](https://developer.android.com/guide/webapps/debugging.html)",
                                                                         5 => "Log output on Firefox for Android can be [accessed using WebIDE](https://developer.mozilla.org/en-US/docs/Tools/Remote_Debugging/Debugging_Firefox_for_Android_with_WebIDE)",
                                                                         6 => "See [this article](https://dev.opera.com/articles/opera-mini-and-javascript/) for details on how to see console logging in Opera Mini",
                                                                       },
                                                       spec         => "https://console.spec.whatwg.org/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y #4" },
                                                                         and_ff  => { 137 => "y #5" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "n #2" },
                                                                         baidu   => { "13.52" => "y #4" },
                                                                         bb      => { 7 => "n #2" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "8" => "a #1", "10" => "y" },
                                                                         firefox => { 2 => "n", 4 => "y" },
                                                                         ie_mob  => { 10 => "n #2" },
                                                                         ios_saf => { "3.2" => "y", "6.0-6.1" => "y #3" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y #6" },
                                                                         op_mob  => { 10 => "n", 11 => "n #2", 80 => "y #4" },
                                                                         opera   => { 9 => "n", 11 => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y #4" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Basic console logging functions",
                                                       ucprefix     => 0,
                                                     },
                "console-time"                    => {
                                                       categories   => ["JS API"],
                                                       description  => "Functions for measuring performance",
                                                       keywords     => "console.time,console.timeEnd,window.console",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Console.time",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Console/time",
                                                                         },
                                                                       ],
                                                       notes        => "`console.time()` starts a timer you can use to track how long an operation takes. You give each timer a unique name, and may have up to 10,000 timers running on a given page. When you call `console.timeEnd()` with the same name, the browser will output the time, in milliseconds, that elapsed since the timer was started. These functions are not always available in `workers`. For example, in Firefox, they are available from version `38`. More on using the `console` on mobile devices, see [here](https://caniuse.com/#feat=console-basic). ",
                                                       notes_by_num => {},
                                                       parent       => "console-basic",
                                                       spec         => "https://console.spec.whatwg.org/#time",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "11" => "y" },
                                                                         firefox => { 2 => "n", 10 => "y" },
                                                                         ie_mob  => { 10 => "n", 11 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "u", 80 => "y" },
                                                                         opera   => { "9" => "n", "11" => "u", "11.1" => "y" },
                                                                         safari  => { "3.1" => "n", "4" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "console.time and console.timeEnd",
                                                       ucprefix     => 0,
                                                     },
                "const"                           => {
                                                       categories   => ["JS"],
                                                       chrome_id    => 4645595339816960,
                                                       description  => "Declares a constant with block level scope",
                                                       keywords     => "ES6,constant,block,scope",
                                                       links        => [
                                                                         {
                                                                           title => "Variables and Constants in ES6",
                                                                           url => "https://generatedcontent.org/post/54444832868/variables-and-constants-in-es6",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - const",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "const is recognized, but treated like var (no block scope, can be overwritten)",
                                                                         2 => "const does not have block scope",
                                                                         3 => "Only recognized when NOT in strict mode",
                                                                         4 => "Supported correctly in strict mode, otherwise supported without block scope",
                                                                         5 => "Not supported in for-in and for-of loops",
                                                                       },
                                                       spec         => "https://tc39.es/ecma262/#sec-let-and-const-declarations",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "a #2", "3" => "a #2 #3", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a #2 #3" },
                                                                         chrome  => { 4 => "a #2", 21 => "a #2 #3", 41 => "a #4", 49 => "y" },
                                                                         edge    => { "5.5" => "n", "11" => "a #5", "12" => "y" },
                                                                         firefox => { 2 => "a #1", 13 => "a #2", 36 => "y" },
                                                                         ie_mob  => { 10 => "n", 11 => "y" },
                                                                         ios_saf => {
                                                                                      "10.0-10.2" => "a #2",
                                                                                      "11.0-11.2" => "y",
                                                                                      "3.2" => "a #2",
                                                                                      "5.0-5.1" => "a #2 #3",
                                                                                    },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "a #1 #3" },
                                                                         op_mob  => { 10 => "a #1", 12 => "a #1 #3", 80 => "y" },
                                                                         opera   => {
                                                                                      "10.0-10.1" => "a #1",
                                                                                      "11.6" => "a #1 #3",
                                                                                      "15" => "a #2 #3",
                                                                                      "28" => "a #4",
                                                                                      "36" => "y",
                                                                                      "9" => "n",
                                                                                    },
                                                                         safari  => { "3.1" => "a #2", "5.1" => "a #2 #3", "10" => "a #2", "11" => "y" },
                                                                         samsung => { "4" => "a #4", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "const",
                                                       ucprefix     => 0,
                                                     },
                "constraint-validation"           => {
                                                       categories => ["JS API"],
                                                       description => "API for better control over form field validation. Includes support for `checkValidity()`, `setCustomValidity()`, `reportValidity()` and validation states.",
                                                       links => [
                                                         {
                                                           title => "MDN article on constraint validation",
                                                           url => "https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/HTML5/Constraint_validation",
                                                         },
                                                         {
                                                           title => "`reportValidity()` ponyfill",
                                                           url => "https://github.com/jelmerdemaat/report-validity",
                                                         },
                                                       ],
                                                       notes_by_num => {
                                                         1 => "Does not support `reportValidity`",
                                                         2 => "Does not support `validity.tooShort`. See also [support for `minlength`.](https://caniuse.com/#feat=input-minlength)",
                                                         3 => "Does not support `validity.badInput`",
                                                       },
                                                       spec => "https://html.spec.whatwg.org/dev/form-control-infrastructure.html#the-constraint-validation-api",
                                                       stats => {
                                                         and_chr => { "2.1" => "u", "4" => "a #1 #2 #3", "4.4" => "a #1 #2", "135" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "u", 10 => "a #1 #2" },
                                                         chrome  => { 4 => "u", 15 => "a #1 #2 #3", 25 => "a #1 #2", 40 => "y" },
                                                         edge    => { "5.5" => "n", "10" => "a #1 #2 #3", "14" => "a #1 #2", "17" => "y" },
                                                         firefox => { 2 => "n", 4 => "a #1 #2 #3", 29 => "a #1 #2", 49 => "a #2", 51 => "y" },
                                                         ie_mob  => { 10 => "a #1 #2 #3" },
                                                         ios_saf => {
                                                                      "10.0-10.2" => "y",
                                                                      "3.2"       => "u",
                                                                      "5.0-5.1"   => "a #1 #2 #3",
                                                                      "7.0-7.1"   => "a #1 #2",
                                                                    },
                                                         kaios   => { "2.5" => "a #1 #2", "3.0-3.1" => "y" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "u", 12 => "a #1 #2 #3", 80 => "y" },
                                                         opera   => { "9" => "u", "11.6" => "a #1 #2 #3", "15" => "a #1 #2", "27" => "y" },
                                                         safari  => { "3.1" => "u", "5.1" => "a #1 #2 #3", "7.1" => "a #1 #2", "10" => "y" },
                                                         samsung => { 4 => "y" },
                                                       },
                                                       status => "ls",
                                                       title => "Constraint Validation API",
                                                       ucprefix => 0,
                                                     },
                "contenteditable"                 => {
                                                       categories   => ["HTML5"],
                                                       description  => "Method of making any HTML element editable.",
                                                       keywords     => "iscontenteditable",
                                                       links        => [
                                                                         {
                                                                           title => "WHATWG blog post",
                                                                           url => "https://blog.whatwg.org/the-road-to-html-5-contenteditable",
                                                                         },
                                                                         {
                                                                           title => "Blog post on usage problems",
                                                                           url => "https://accessgarage.wordpress.com/2009/05/08/how-to-hack-your-app-to-make-contenteditable-work/",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/html/attributes/contentEditable",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - contentEditable attribute",
                                                                           url => "https://developer.mozilla.org/en/docs/Web/API/HTMLElement/contentEditable",
                                                                         },
                                                                       ],
                                                       notes        => "This support only refers to very basic editing capability, implementations vary significantly on how certain elements can be edited.",
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/interaction.html#contenteditable",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "y" },
                                                                         firefox => { "2" => "n", "3" => "a", "3.5" => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "n", "12.1" => "y" },
                                                                         opera   => { 9 => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "contenteditable attribute (basic support)",
                                                       ucprefix     => 0,
                                                     },
                "contentsecuritypolicy"           => {
                                                       categories   => ["Security"],
                                                       chrome_id    => 5205088045891584,
                                                       description  => "Mitigate cross-site scripting attacks by only allowing certain sources of script, style, and other resources.",
                                                       keywords     => "csp,security,header",
                                                       links        => [
                                                                         {
                                                                           title => "HTML5Rocks article",
                                                                           url => "https://www.html5rocks.com/en/tutorials/security/content-security-policy/",
                                                                         },
                                                                         {
                                                                           title => "CSP Examples & Quick Reference",
                                                                           url => "https://content-security-policy.com/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Content Security Policy",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP",
                                                                         },
                                                                       ],
                                                       notes        => "The standard HTTP header is `Content-Security-Policy` which is used unless otherwise noted.",
                                                       notes_by_num => {
                                                                         1 => "Supported through the `X-Content-Security-Policy` header",
                                                                         2 => "Supported through the `X-WebKit-CSP` header",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/2012/CR-CSP-20121115/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y #2" },
                                                                         chrome  => { 4 => "n", 14 => "y #2", 25 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "a #1", "12" => "y" },
                                                                         firefox => { 2 => "n", 4 => "y #1", 23 => "y" },
                                                                         ie_mob  => { 10 => "a #1" },
                                                                         ios_saf => { "3.2" => "n", "5.0-5.1" => "a #2", "6.0-6.1" => "y #2", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "5.1" => "a #2", "6" => "y #2", "7" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Content Security Policy 1.0",
                                                       ucprefix     => 0,
                                                     },
                "contentsecuritypolicy2"          => {
                                                       categories   => ["Security"],
                                                       chrome_id    => 4957003285790720,
                                                       description  => "Mitigate cross-site scripting attacks by only allowing certain sources of script, style, and other resources. CSP 2 adds hash-source, nonce-source, and five new directives",
                                                       keywords     => "csp,header,nonce,hash",
                                                       links        => [
                                                                         {
                                                                           title => "HTML5Rocks article",
                                                                           url => "https://www.html5rocks.com/en/tutorials/security/content-security-policy/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Content Security Policy",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Firefox 31-34 is missing the child-src, frame-ancestors, base-uri, and form-action directives.",
                                                                         2 => "Firefox 35 is missing the child-src, frame-ancestors, and form-action directives.",
                                                                         3 => "Firefox 36-44 is missing the child-src directives.",
                                                                         4 => "Chrome 36-38 & Opera 23-25 are missing the child-src, frame-ancestors, base-uri, and form-action directives.",
                                                                         5 => "Chrome 39 and Opera 26 are missing the child-src, base-uri, and form-action directives.",
                                                                         6 => "Edge has broken nonce support as it ignores nonces on sourced scripts.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/CSP2/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 36 => "a #4", 39 => "a #5", 40 => "y" },
                                                                         edge    => { "5.5" => "n", "15" => "a #6", "79" => "y" },
                                                                         firefox => { 2 => "n", 31 => "a #1", 35 => "a #2", 36 => "a #3", 45 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.0-10.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 23 => "a #4", 26 => "a #5", 27 => "y" },
                                                                         safari  => { "3.1" => "n", "10" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "Content Security Policy Level 2",
                                                       ucprefix     => 0,
                                                     },
                "cookie-store-api"                => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5658847691669504,
                                                       description  => "An API for reading and modifying cookies. Compared to the existing `document.cookie` method, the API provides a much more modern interface, which can also be used in service workers.",
                                                       keywords     => "document.cookie,cookieStore,window.cookieStore",
                                                       links        => [
                                                                         {
                                                                           title => "Article on using the Cookie Store API",
                                                                           url => "https://developers.google.com/web/updates/2018/09/asynchronous-access-to-http-cookies",
                                                                         },
                                                                         {
                                                                           title => "Specification explainer",
                                                                           url => "https://wicg.github.io/cookie-store/explainer.html",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1475599",
                                                                         },
                                                                         {
                                                                           title => "WebKit position",
                                                                           url => "https://github.com/WebKit/standards-positions/issues/36",
                                                                         },
                                                                         {
                                                                           title => "WebKit support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=258504",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled with the `#enable-experimental-web-platform-features` flag.",
                                                                         2 => "Can be enabled with the `dom.cookieStore.enabled` flag.",
                                                                       },
                                                       spec         => "https://wicg.github.io/cookie-store/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 64 => "n d #1", 87 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "n d #1", "87" => "y" },
                                                                         firefox => { 2 => "n", 132 => "n d #2", 139 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "18.4" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 51 => "n d #1", 74 => "y" },
                                                                         safari  => { "3.1" => "n", "18.4" => "y" },
                                                                         samsung => { "4" => "n", "14.0" => "y" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Cookie Store API",
                                                       ucprefix     => 0,
                                                     },
                "cors"                            => {
                                                       categories => ["JS API", "Security"],
                                                       description => "Method of performing XMLHttpRequests across domains",
                                                       links => [
                                                         {
                                                           title => "Mozilla Hacks blog post",
                                                           url => "https://hacks.mozilla.org/2009/07/cross-site-xmlhttprequest-with-cors/",
                                                         },
                                                         {
                                                           title => "Alternative implementation by IE8",
                                                           url => "https://msdn.microsoft.com/en-us/library/cc288060(VS.85).aspx",
                                                         },
                                                         {
                                                           title => "DOM access using CORS",
                                                           url => "https://dev.opera.com/articles/view/dom-access-control-using-cross-origin-resource-sharing/",
                                                         },
                                                         {
                                                           title => "has.js test",
                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-cors-xhr",
                                                         },
                                                         {
                                                           title => "MDN Web Docs - Access control CORS",
                                                           url => "https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS",
                                                         },
                                                       ],
                                                       notes_by_num => {
                                                         1 => "Does not support CORS for images in `<canvas>`",
                                                         2 => "Supported somewhat in IE8 and IE9 using the XDomainRequest object (but has [limitations](https://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx))",
                                                         3 => "Does not support CORS for `<video>` in `<canvas>`: https://bugs.webkit.org/show_bug.cgi?id=135379",
                                                         4 => "Does not support CORS for resources which redirect: https://bugzilla.mozilla.org/show_bug.cgi?id=1346749",
                                                       },
                                                       spec => "https://fetch.spec.whatwg.org/#http-cors-protocol",
                                                       stats => {
                                                         and_chr => { "2.1" => "a #1", "4.4" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "a #1", 10 => "y" },
                                                         chrome  => { 4 => "a #1", 13 => "y" },
                                                         edge    => { "5.5" => "n", "8" => "a #2", "10" => "a #1", "11" => "y" },
                                                         firefox => { "2" => "n", "3.5" => "y", "61" => "y #4", "71" => "y" },
                                                         ie_mob  => { 10 => "a #1", 11 => "y" },
                                                         ios_saf => { "3.2" => "a #1 #3", "6.0-6.1" => "y #3" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "n", 12 => "y" },
                                                         opera   => { 9 => "n", 12 => "y" },
                                                         safari  => { "3.1" => "n", "4" => "a #1 #3", "6" => "y #3" },
                                                         samsung => { 4 => "y" },
                                                       },
                                                       status => "ls",
                                                       title => "Cross-Origin Resource Sharing",
                                                       ucprefix => 0,
                                                     },
                "createimagebitmap"               => {
                                                       categories => ["JS API"],
                                                       description => "Create image bitmap with support for resizing and adjusting quality",
                                                       links => [
                                                         {
                                                           title => "self.createImageBitmap() - Web APIs | MDN",
                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/createImageBitmap",
                                                         },
                                                       ],
                                                       notes_by_num => {
                                                         1 => "No support for options parameter, resizeWidth, resizeHeight, resizeQuality or SVGImageElement as Source Image",
                                                         2 => "No support for resizeWidth, resizeHeight, resizeQuality or SVGImageElement as Source Image",
                                                         3 => "No support for SVGImageElement as Source Image",
                                                         4 => "No support for resizeWidth, resizeHeight and resizeQuality. See [this bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1363861)",
                                                         5 => "No support for `createImageBitmap(source, options)` interface. See [this bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1335594)",
                                                         6 => "No support for premultiplyAlpha with `ImageData` as Source Image. See [this bug](https://bugs.webkit.org/show_bug.cgi?id=237082)",
                                                         7 => "No support for resizeQuality. See [this bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1363861)",
                                                       },
                                                       spec => "https://html.spec.whatwg.org/multipage/imagebitmap-and-animations.html#dom-createimagebitmap",
                                                       stats => {
                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                         and_ff  => { 137 => "a #7" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "n" },
                                                         chrome  => { 4 => "n", 50 => "a #1", 52 => "a #2", 54 => "a #3", 59 => "y" },
                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                         firefox => { 2 => "n", 42 => "a #4 #5", 93 => "a #4", 98 => "a #7" },
                                                         ie_mob  => { 10 => "n" },
                                                         ios_saf => { "15.0-15.1" => "a #6", "17.0" => "y", "3.2" => "n" },
                                                         kaios   => { "2.5" => "a #4 #5" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                         opera   => { 9 => "n", 37 => "a #1", 39 => "a #2", 41 => "a #3", 46 => "y" },
                                                         safari  => { "3.1" => "n", "15" => "a #6", "17.0" => "y" },
                                                         samsung => { "4" => "u", "6.2-6.4" => "y" },
                                                       },
                                                       status => "ls",
                                                       title => "createImageBitmap",
                                                       ucprefix => 0,
                                                     },
                "credential-management"           => {
                                                       categories   => ["JS API", "Security"],
                                                       chrome_id    => 5026422640869376,
                                                       description  => "API that provides a programmatic interface to the browser's credential manager. In short, an origin can request a user's credentials to sign them in, or can ask the browser to save credentials on the user's behalf. Both of these requests are user-mediated.",
                                                       keywords     => "credential,navigator.credentials",
                                                       links        => [
                                                                         {
                                                                           title => "Tutorial by Google",
                                                                           url => "https://developers.google.com/web/updates/2016/04/credential-management-api",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Credential Management API",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Credential_Management_API",
                                                                         },
                                                                         {
                                                                           title => "Live Demo",
                                                                           url => "https://credential-management-sample.appspot.com/",
                                                                         },
                                                                         {
                                                                           title => "Sample Code",
                                                                           url => "https://github.com/GoogleChrome/credential-management-sample",
                                                                         },
                                                                         {
                                                                           title => "Spec discussion",
                                                                           url => "https://github.com/w3c/webappsec-credential-management",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "In Chrome 51 ~ 56, PSL matched credentials are not supported. This means you cannot use credentials set on a.example.com in b.example.com. This is supported since Chrome 57.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/credential-management-1/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 48 => "n d", 51 => "y #1", 57 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "14.0-14.4" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 45 => "y" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { "4" => "n", "7.2-7.4" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Credential Management API",
                                                       ucprefix     => 0,
                                                     },
                "cross-document-view-transitions" => {
                                                       categories   => ["CSS", "JS API"],
                                                       chrome_id    => 5118874666663936,
                                                       description  => "Provides a mechanism for easily creating animated transitions between different DOM states, while also updating the DOM contents in a single step. This API is specific to cross-document transitions.",
                                                       keywords     => "ViewTransition,\@view-transition",
                                                       links        => [
                                                                         {
                                                                           title => "Explainer document",
                                                                           url => "https://github.com/WICG/view-transitions/blob/main/cross-doc-explainer.md",
                                                                         },
                                                                         {
                                                                           title => "View Transition API on MDN",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/View_Transition_API",
                                                                         },
                                                                         {
                                                                           title => "Chrome Developers documentation",
                                                                           url => "https://developer.chrome.com/docs/web-platform/view-transitions/",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1860854",
                                                                         },
                                                                       ],
                                                       notes        => "See also support for the [Navigation API](/mdn-api_navigation) which can be used for some view transition behavior.",
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/css-view-transitions-2/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 126 => "y" },
                                                                         edge    => { "5.5" => "n", "126" => "y" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "18.2" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 112 => "y" },
                                                                         safari  => { "3.1" => "n", "18.2" => "y" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "View Transitions (cross-document)",
                                                       ucprefix     => 0,
                                                     },
                "cryptography"                    => {
                                                       categories   => ["JS API", "Security"],
                                                       chrome_id    => 5030265697075200,
                                                       description  => "JavaScript API for performing basic cryptographic operations in web applications",
                                                       keywords     => "subtle,subtlecrypto",
                                                       links        => [
                                                                         {
                                                                           title => "The History and Status of Web Crypto API",
                                                                           url => "https://www.slideshare.net/Channy/the-history-and-status-of-web-crypto-api",
                                                                         },
                                                                         {
                                                                           title => "Microsoft Research JavaScript Cryptography Library",
                                                                           url => "https://github.com/microsoft/MSR-JavaScript-Crypto",
                                                                         },
                                                                         {
                                                                           title => "Cross-browser cryptography library",
                                                                           url => "https://bitwiseshiftleft.github.io/sjcl/",
                                                                         },
                                                                         {
                                                                           title => "Polyfill by Netflix with partial support",
                                                                           url => "https://github.com/Netflix/NfWebCrypto",
                                                                         },
                                                                         {
                                                                           title => "PKI.js - another crypto library for Public Key Infrastructure applications",
                                                                           url => "https://github.com/GlobalSign/PKI.js",
                                                                         },
                                                                         {
                                                                           title => "Test suite for various algorithms/methods",
                                                                           url => "https://diafygi.github.io/webcrypto-examples/",
                                                                         },
                                                                         {
                                                                           title => "Web Cryptography API shim for IE11 and Safari - set of bugfixes and workarounds of prefixed api implementations",
                                                                           url => "https://github.com/vibornoff/webcrypto-shim",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Web Crypto API",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API",
                                                                         },
                                                                       ],
                                                       notes        => "Many browsers support the `[crypto.getRandomValues()](#feat=getrandomvalues)` method, but not actual cryptography functionality under `crypto.subtle`.",
                                                       notes_by_num => {
                                                                         1 => "Support in IE11 is based on an older version of the specification.",
                                                                         2 => "Support in Safari before version 11 was using the `crypto.webkitSubtle` prefix.",
                                                                         3 => "In Edge 12-18, Web Crypto was not supported in Web Workers and Service Workers.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/WebCryptoAPI/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "p", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "p" },
                                                                         chrome  => { 4 => "p", 37 => "y" },
                                                                         edge    => { "5.5" => "n", "6" => "p", "11" => "a x #1", "12" => "y #3", "79" => "y" },
                                                                         firefox => { 2 => "p", 32 => "n d", 34 => "y" },
                                                                         ie_mob  => { 10 => "p", 11 => "a x #1" },
                                                                         ios_saf => { "11.0-11.2" => "y", "3.2" => "p", "8" => "y x #2" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "p", 80 => "y" },
                                                                         opera   => { 9 => "p", 24 => "y" },
                                                                         safari  => { "3.1" => "p", "7.1" => "y x #2", "11" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "Web Cryptography",
                                                       ucprefix     => 0,
                                                     },
                "css-all"                         => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 6178222542684160,
                                                       description  => "A shorthand property for resetting all CSS properties except for `direction` and `unicode-bidi`.",
                                                       keywords     => "CSS,all,property,shorthand,reset",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS all",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/all",
                                                                         },
                                                                         {
                                                                           title => "Resetting styles using `all: unset`",
                                                                           url => "https://mcc.id.au/blog/2013/10/all-unset",
                                                                         },
                                                                         {
                                                                           title => "WebKit bug 116966: [css3-cascade] Add support for `all` shorthand property",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=116966",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/css-cascade-3/#all-shorthand",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4.3-4.4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 37 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 27 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "9.3" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 24 => "y" },
                                                                         safari  => { "3.1" => "n", "9.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "CSS all property",
                                                       ucprefix     => 0,
                                                     },
                "css-anchor-positioning"          => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5124922471874560,
                                                       description  => "Allows placing elements anywhere on the page relative to an \"anchor element\", without regard to the layout of other elements besides their containing block",
                                                       keywords     => "anchor,position,anchor-element,anchor-name,anchor-default,anchor-scroll,position-fallback,position-fallback-bounds",
                                                       links        => [
                                                                         {
                                                                           title => "Blog post on usage",
                                                                           url => "https://developer.chrome.com/blog/tether-elements-to-each-other-with-css-anchor-positioning/",
                                                                         },
                                                                         {
                                                                           title => "Polyfill",
                                                                           url => "https://github.com/oddbird/css-anchor-positioning",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1838746",
                                                                         },
                                                                         {
                                                                           title => "Blog post",
                                                                           url => "https://12daysofweb.dev/2023/anchor-positioning/",
                                                                         },
                                                                         {
                                                                           title => "WebKit position on Anchor Positioning",
                                                                           url => "https://github.com/WebKit/standards-positions/issues/167",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled via the `#enable-experimental-web-platform-features` flag in `chrome://flags`",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-anchor-position-1/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 117 => "n d #1", 125 => "y" },
                                                                         edge    => { "5.5" => "n", "117" => "n d #1", "125" => "y" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 103 => "n d #1", 111 => "y" },
                                                                         safari  => { "3.1" => "n", "TP" => "y" },
                                                                         samsung => { 4 => "n", 27 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS Anchor Positioning",
                                                       ucprefix     => 0,
                                                     },
                "css-animation"                   => {
                                                       categories   => ["CSS3"],
                                                       description  => "Complex method of animating certain properties of an element",
                                                       keywords     => "animations,css-animations,animation-name,animation-duration,animation-delay,animation-timing-function,animation-iteration-count,\@keyframes,animationstart,animationend,animationiteration,css3 animation,steps,step-start,step-end,cubic-bezier",
                                                       links        => [
                                                                         {
                                                                           title => "Blog post on usage",
                                                                           url => "https://robertnyman.com/2010/05/06/css3-animations/",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/properties/animations",
                                                                         },
                                                                         {
                                                                           title => "MDN - animation",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/animation",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support in Android browser refers to buggy behavior in different scenarios.",
                                                                         2 => "Does not support the `steps()`, `step-start` & `step-end` timing functions",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-animations/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a x #1", "4" => "y x", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y x" },
                                                                         chrome  => { 4 => "y x", 43 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "n", 5 => "y x", 16 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "a x #1", "6.0-6.1" => "y x", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "n", "12.1" => "y" },
                                                                         opera   => { "9" => "n", "12" => "y x", "12.1" => "y", "15" => "y x", "30" => "y" },
                                                                         safari  => { "3.1" => "n", "4" => "a x #2", "5.1" => "y x", "9" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS Animation",
                                                       ucprefix     => 0,
                                                     },
                "css-any-link"                    => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5724922840088576,
                                                       description  => "The `:any-link` CSS pseudo-class matches all elements that match `:link` or `:visited`",
                                                       keywords     => "any-link,css4,selector,visited",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS :any-link",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/:any-link",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://w3c.github.io/csswg-drafts/selectors-4/#the-any-link-pseudo",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "4.4" => "y x", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "u" },
                                                                         chrome  => { 4 => "u", 15 => "y x", 65 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "u", 3 => "y x", 50 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "u", "6.0-6.1" => "y x", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "y x", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y x", 52 => "y" },
                                                                         safari  => { "3.1" => "u", "6.1" => "y x", "9" => "y" },
                                                                         samsung => { "4" => "u", "5.0-5.4" => "y x", "9.2" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS :any-link selector",
                                                       ucprefix     => 0,
                                                     },
                "css-appearance"                  => {
                                                       categories   => ["CSS"],
                                                       description  => "The `appearance` property defines how elements (particularly form controls) appear by default. By setting the value to `none` the default appearance can be entirely redefined using other CSS properties.",
                                                       links        => [
                                                                         {
                                                                           title => "CSS Tricks article",
                                                                           url => "https://css-tricks.com/almanac/properties/a/appearance/",
                                                                         },
                                                                         {
                                                                           title => "Safari implementation bug for unprefixed `appearance`",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=143842",
                                                                         },
                                                                       ],
                                                       notes        => "WebKit, Blink, and Gecko browsers also support additional vendor specific values.",
                                                       notes_by_num => {
                                                                         1 => "The appearance property is supported with the `none` value, but not `auto`.",
                                                                         2 => "Microsoft Edge and IE Mobile support this property with the `-webkit-` prefix, rather than `-ms-` for interop reasons.",
                                                                         3 => "`-moz-appearance:none` did not remove the dropdown arrow in the select tag",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-ui-4/#appearance-switching",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a x #1", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "a x #1" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a x #1" },
                                                                         chrome  => { 4 => "a x #1", 83 => "y x", 84 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "a #1 #2", "79" => "a x #1", "83" => "y x", "84" => "y" },
                                                                         firefox => { 2 => "a x #1 #3", 35 => "a x #1", 80 => "y" },
                                                                         ie_mob  => { 10 => "n", 11 => "a #1 #2" },
                                                                         ios_saf => { "3.2" => "a x #1", "15.4" => "y" },
                                                                         kaios   => { "2.5" => "a x #1", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "a x #1", 70 => "y x", 73 => "y" },
                                                                         safari  => { "3.1" => "a x #1", "15.4" => "y" },
                                                                         samsung => { "4" => "a x #1", "14.0" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS Appearance",
                                                       ucprefix     => 0,
                                                     },
                "css-at-counter-style"            => {
                                                       categories   => ["CSS3"],
                                                       chrome_id    => 5692693659254784,
                                                       description  => "The \@counter-style CSS at-rule allows custom counter styles to be defined. A \@counter-style rule defines how to convert a counter value into a string representation.",
                                                       keywords     => "css \@counter-style, list-style",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS counter style",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/\@counter-style",
                                                                         },
                                                                         {
                                                                           title => "CSS \@counter-style Demo",
                                                                           url => "https://mdn.github.io/css-examples/counter-style-demo/",
                                                                         },
                                                                         {
                                                                           title => "WebKit bug on support for \@counter-style",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=167645",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to lacking support for image symbols: [Firefox bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1024179), [Chrome bug](https://bugs.chromium.org/p/chromium/issues/detail?id=1176323)",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-counter-styles/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "a #1" },
                                                                         and_ff  => { 137 => "a #1" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "a #1" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 91 => "a #1" },
                                                                         edge    => { "5.5" => "n", "91" => "a #1" },
                                                                         firefox => { 2 => "n", 33 => "a #1" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "17.0" => "a" },
                                                                         kaios   => { "2.5" => "a #1" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "a #1" },
                                                                         opera   => { 9 => "n", 77 => "a #1" },
                                                                         safari  => { "3.1" => "n", "17.0" => "a" },
                                                                         samsung => { "4" => "n", "16.0" => "a #1" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS Counter Styles",
                                                       ucprefix     => 0,
                                                     },
                "css-backdrop-filter"             => {
                                                       categories   => ["CSS", "CSS3"],
                                                       chrome_id    => 5679432723333120,
                                                       description  => "Method of applying filter effects (like blur, grayscale or hue) to content/elements below the target element.",
                                                       keywords     => "blue,hue-rotate,invert,saturate,filter",
                                                       links        => [
                                                                         {
                                                                           title => "Blog post",
                                                                           url => "https://product.voxmedia.com/til/2015/2/17/8053347/css-ios-transparency-with-webkit-backdrop-filter",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - CSS backdrop filter",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter",
                                                                         },
                                                                         {
                                                                           title => "WebKit bug to unprefix `-webkit-backdrop-filter`",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=224899",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled via the \"Experimental Web Platform Features\" flag",
                                                                         2 => "Currently only supported with the `-webkit-` prefix (not -ms-)",
                                                                         3 => "Can be enabled by setting the `layout.css.backdrop-filter.enabled` and `gfx.webrender.all` preference to `true` in about:config.",
                                                                       },
                                                       spec         => "https://drafts.fxtf.org/filter-effects-2/#BackdropFilterProperty",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 47 => "n d #1", 76 => "y" },
                                                                         edge    => { "5.5" => "n", "17" => "y #2", "79" => "y" },
                                                                         firefox => { 2 => "n", 70 => "n d #3", 103 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "18.0" => "y", "3.2" => "n", "9.0-9.2" => "y x" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 34 => "n d #1", 64 => "y" },
                                                                         safari  => { "3.1" => "n", "9" => "y x", "18.0" => "y" },
                                                                         samsung => { "12.0" => "y", "4" => "n", "5.0-5.4" => "n d #1" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "CSS Backdrop Filter",
                                                       ucprefix     => 0,
                                                     },
                "css-background-offsets"          => {
                                                       categories   => ["CSS3"],
                                                       description  => "Allows CSS background images to be positioned relative to the specified edge using the 3 to 4 value syntax. For example: `background-position: right 5px bottom 5px;` for positioning 5px from the bottom-right corner.",
                                                       keywords     => "4 value syntax",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - background-position",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/background-position",
                                                                         },
                                                                         {
                                                                           title => "Basic information",
                                                                           url => "https://briantree.se/quick-tip-06-use-four-value-syntax-properly-position-background-images/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/css3-background/#background-position",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 25 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                                         firefox => { 2 => "n", 13 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "n", 11 => "y" },
                                                                         opera   => { "9" => "n", "10.5" => "y" },
                                                                         safari  => { "3.1" => "n", "7" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS background-position edge offsets",
                                                       ucprefix     => 0,
                                                     },
                "css-backgroundblendmode"         => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5768037999312896,
                                                       description  => "Allows blending between CSS background images, gradients, and colors.",
                                                       keywords     => "css blend modes,css blending modes,blending,multiply,screen,background",
                                                       links        => [
                                                                         {
                                                                           title => "codepen example",
                                                                           url => "https://codepen.io/bennettfeely/pen/rxoAc",
                                                                         },
                                                                         {
                                                                           title => "Blog post",
                                                                           url => "https://medium.com/web-design-technique/6b51bf53743a",
                                                                         },
                                                                         { title => "Demo", url => "https://bennettfeely.com/gradients/" },
                                                                         {
                                                                           title => "MDN Web Docs - background-blend-mode",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/background-blend-mode",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial in Safari refers to not supporting the `hue`, `saturation`, `color`, and `luminosity` blend modes.",
                                                                         2 => "Chrome 46 has some [serious bugs](https://code.google.com/p/chromium/issues/detail?id=543583) with multiply, difference, and exclusion blend modes",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/compositing-1/#propdef-background-blend-mode",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 35 => "y", 46 => "a #2", 47 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 30 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "8" => "a #1", "10.3" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 22 => "y", 33 => "a #2", 34 => "y" },
                                                                         safari  => { "3.1" => "n", "7.1" => "a #1", "10.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS background-blend-mode",
                                                       ucprefix     => 0,
                                                     },
                "css-boxdecorationbreak"          => {
                                                       categories   => ["CSS3"],
                                                       chrome_id    => 5162398704205824,
                                                       description  => "Controls whether the box's margins, borders, padding, and other decorations wrap the broken edges of the box fragments (when the box is split by a break (page/column/region/line).",
                                                       keywords     => "box-decoration,box decoration,break",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS box-decoration-break",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/box-decoration-break",
                                                                         },
                                                                         {
                                                                           title => "Demo of effect on box border",
                                                                           url => "https://jsbin.com/xojoro/edit?css,output",
                                                                         },
                                                                         {
                                                                           title => "Chromium bug to unprefix `-webkit-box-decoration-break`",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=682224",
                                                                         },
                                                                         {
                                                                           title => "WebKit position request to support box-decoration-break everywhere without prefix",
                                                                           url => "https://github.com/WebKit/standards-positions/issues/366",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to working for inline elements but not across column or page breaks.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-break/#break-decoration",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "a x #1", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "a x #1" },
                                                                         and_uc  => { "15.5" => "a x #1" },
                                                                         baidu   => { "13.52" => "a x #1" },
                                                                         bb      => { 7 => "n", 10 => "a x #1" },
                                                                         chrome  => { 4 => "n", 22 => "a x #1", 130 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "a x #1", "130" => "y" },
                                                                         firefox => { 2 => "n", 32 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "7.0-7.1" => "a x #1" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "a #1" },
                                                                         op_mob  => { 10 => "n", 11 => "y #1", 80 => "a x #1" },
                                                                         opera   => { 9 => "n", 11 => "y #1", 15 => "a x #1", 116 => "y" },
                                                                         safari  => { "3.1" => "n", "6.1" => "a x #1" },
                                                                         samsung => { 4 => "a x #1" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS box-decoration-break",
                                                       ucprefix     => 0,
                                                     },
                "css-boxshadow"                   => {
                                                       categories   => ["CSS3"],
                                                       description  => "Method of displaying an inner or outer shadow effect to elements",
                                                       keywords     => "box-shadows,boxshadows,box shadow,shaow",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - box-shadow",
                                                                           url => "https://developer.mozilla.org/En/CSS/-moz-box-shadow",
                                                                         },
                                                                         {
                                                                           title => "Live editor",
                                                                           url => "https://westciv.com/tools/boxshadows/index.html",
                                                                         },
                                                                         {
                                                                           title => "Demo of various effects",
                                                                           url => "http://tests.themasta.com/blogstuff/boxshadowdemo.html",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/properties/box-shadow",
                                                                         },
                                                                       ],
                                                       notes        => "Can be partially emulated in older IE versions using the non-standard \"shadow\" filter.",
                                                       notes_by_num => {
                                                                         1 => "Partial support in Safari, iOS Safari and Android Browser refers to missing \"inset\", blur radius value, and multiple shadow support.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-background/#box-shadow",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a x #1", "4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y x", 10 => "y" },
                                                                         chrome  => { 4 => "y x", 10 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                                         firefox => { "2" => "n", "3.5" => "y x", "4" => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "a x #1", "4.0-4.1" => "y x", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 11 => "y" },
                                                                         opera   => { "9" => "n", "10.5" => "y" },
                                                                         safari  => { "3.1" => "a x #1", "5" => "y x", "5.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS3 Box-shadow",
                                                       ucprefix     => 0,
                                                     },
                "css-canvas"                      => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5722125839106048,
                                                       description  => "Method of using HTML5 Canvas as a background image. Not currently part of any specification.",
                                                       links        => [
                                                                         {
                                                                           title => "WebKit blog post",
                                                                           url => "https://webkit.org/blog/176/css-canvas-drawing/",
                                                                         },
                                                                       ],
                                                       notes        => "A similar effect can be achieved in Firefox 4+ using the -moz-element() background property",
                                                       notes_by_num => {},
                                                       spec         => "https://webkit.org/blog/176/css-canvas-drawing/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y x", "135" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "y x" },
                                                                         chrome  => { 4 => "y x", 48 => "n" },
                                                                         edge    => { "5.5" => "n" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "y x" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 15 => "y x", 35 => "n" },
                                                                         safari  => { "3.1" => "n", "4" => "y x" },
                                                                         samsung => { "4" => "y x", "5.0-5.4" => "n" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "CSS Canvas Drawings",
                                                       ucprefix     => 0,
                                                     },
                "css-caret-color"                 => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5720917787279360,
                                                       description  => "The `caret-color` property allows the color to be set of the caret (blinking text insertion pointer) in an editable text area.",
                                                       links        => [
                                                                         {
                                                                           title => "WebKit support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=166572",
                                                                         },
                                                                         {
                                                                           title => "MDN article",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/caret-color",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/css-ui-3/#caret-color",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 57 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 53 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.3-11.4" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 44 => "y" },
                                                                         safari  => { "3.1" => "n", "11.1" => "y" },
                                                                         samsung => { "4" => "n", "7.2-7.4" => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "CSS caret-color",
                                                       ucprefix     => 0,
                                                     },
                "css-cascade-layers"              => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5663362835808256,
                                                       description  => "The `\@layer` at-rule allows authors to explicitly layer their styles in the cascade, before specificity and order of appearance are considered.",
                                                       links        => [
                                                                         {
                                                                           title => "The Future of CSS: Cascade Layers (CSS \@layer)",
                                                                           url => "https://www.bram.us/2021/09/15/the-future-of-css-cascade-layers-css-at-layer/",
                                                                         },
                                                                         { title => "Chromium support bug", url => "https://crbug.com/1095765" },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1699215",
                                                                         },
                                                                         {
                                                                           title => "WebKit support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=220779",
                                                                         },
                                                                         {
                                                                           title => "Collection of demos",
                                                                           url => "https://codepen.io/collection/BNjmma",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled with the \"layout.css.cascade-layers.enabled\" feature flag under `about:config`",
                                                                         2 => "Can be enabled in Chrome Canary using the `--enable-blink-features=CSSCascadeLayers` runtime flag",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-cascade-5/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 96 => "n d #2", 99 => "y" },
                                                                         edge    => { "5.5" => "n", "96" => "n d #2", "99" => "y" },
                                                                         firefox => { 2 => "n", 94 => "n d #1", 97 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "15.4" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 86 => "y" },
                                                                         safari  => { "3.1" => "n", "15.4" => "y" },
                                                                         samsung => { "4" => "n", "18.0" => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS Cascade Layers",
                                                       ucprefix     => 0,
                                                     },
                "css-cascade-scope"               => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5100672734199808,
                                                       description  => "Allows CSS rules to be scoped to part of the document, with upper and lower limits described by selectors.",
                                                       keywords     => "scope,stylescoped",
                                                       links        => [
                                                                         {
                                                                           title => "Explainer",
                                                                           url => "https://css.oddbird.net/scope/explainer/",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1830512",
                                                                         },
                                                                         {
                                                                           title => "WebKit position: support",
                                                                           url => "https://github.com/WebKit/standards-positions/issues/13",
                                                                         },
                                                                         {
                                                                           title => "An introduction to \@scope in CSS",
                                                                           url => "https://fullystacked.net/posts/scope-in-css/",
                                                                         },
                                                                       ],
                                                       notes        => "This implementation replaces an older concept of [scoping CSS rules](https://caniuse.com/style-scoped).",
                                                       notes_by_num => {
                                                                         1 => "Enabled in Chrome through the \"experimental Web Platform features\" flag in chrome://flags",
                                                                       },
                                                       spec         => "https://drafts.csswg.org/css-cascade-6/#scoped-styles",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 104 => "n d #1", 118 => "y" },
                                                                         edge    => { "5.5" => "n", "104" => "n d #1", "118" => "y" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "17.4" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 90 => "n d #1", 106 => "y" },
                                                                         safari  => { "3.1" => "n", "17.4" => "y" },
                                                                         samsung => { 4 => "n", 25 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Scoped Styles: the \@scope rule",
                                                       ucprefix     => 0,
                                                     },
                "css-case-insensitive"            => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5610936115134464,
                                                       description  => "Including an `i` before the `]` in a CSS attribute selector causes the attribute value to be matched in an ASCII-case-insensitive manner. For example, `[b=\"xyz\" i]` would match both `<a b=\"xyz\">` and `<a b=\"XYZ\">`.",
                                                       keywords     => "i,attribute,case,insensitive,sensitive,sensitivity,insensitivity",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS case-insensitive",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors#case-insensitive",
                                                                         },
                                                                         {
                                                                           title => "JS Bin testcase",
                                                                           url => "https://jsbin.com/zutuna/edit?html,css,output",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/selectors-4/#attribute-case",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 49 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 47 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 36 => "y" },
                                                                         safari  => { "3.1" => "n", "9" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Case-insensitive CSS attribute selectors",
                                                       ucprefix     => 0,
                                                     },
                "css-clip-path"                   => {
                                                       categories   => ["CSS3"],
                                                       description  => "Method of defining the visible region of an HTML element using SVG or a shape definition.",
                                                       keywords     => "clippath",
                                                       links        => [
                                                                         {
                                                                           title => "CSS Tricks article",
                                                                           url => "https://css-tricks.com/almanac/properties/c/clip/",
                                                                         },
                                                                         {
                                                                           title => "Codepen Example Clipping an Image with a Polygon",
                                                                           url => "https://codepen.io/dubrod/details/myNNyW/",
                                                                         },
                                                                         {
                                                                           title => "Visual test cases",
                                                                           url => "https://lab.iamvdo.me/css-svg-masks",
                                                                         },
                                                                         {
                                                                           title => "Chromium bug for shapes in external SVGs",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=109212",
                                                                         },
                                                                         {
                                                                           title => "WebKit bug for shapes in external SVGs",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=104442",
                                                                         },
                                                                       ],
                                                       notes        => "Support refers to the `clip-path` CSS property on HTML elements specifically. Support for `clip-path` in SVG is supported in all browsers with [basic SVG](#feat=svg) support.",
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to only supporting the `url()` syntax.",
                                                                         2 => "Partial support refers to supporting shapes and the `url(#foo)` syntax for inline SVG, but not shapes in external SVGs.",
                                                                         3 => "Supports shapes behind the `layout.css.clip-path-shapes.enabled` flag",
                                                                         4 => "Partial support can be enabled on MS Edge with the Enable CSS Clip-Path Flag",
                                                                         5 => "While Edge doesn't seem to recognize any `<basic-shape>` function, it does allow you to use `polygon()` in HTML and SVG",
                                                                       },
                                                       parent       => "css-masks",
                                                       spec         => "https://www.w3.org/TR/css-masking-1/#the-clip-path",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "a x #2", "135" => "a #2" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "a #2" },
                                                                         and_uc  => { "15.5" => "a #2" },
                                                                         baidu   => { "13.52" => "a #2" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 24 => "a x #2", 55 => "a #2" },
                                                                         edge    => { "5.5" => "n", "18" => "n d #4 #5", "79" => "a #2" },
                                                                         firefox => { "2" => "n", "3.5" => "a #1", "47" => "a #1 #3", "54" => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "13.0-13.1" => "a #2", "3.2" => "n", "7.0-7.1" => "a x #2" },
                                                                         kaios   => { "2.5" => "a #1 #3", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "a #2" },
                                                                         opera   => { 9 => "n", 15 => "a x #2", 42 => "a #2" },
                                                                         safari  => { "3.1" => "n", "7" => "a x #2", "13.1" => "a #2" },
                                                                         samsung => { "4" => "a x #2", "6.2-6.4" => "a #2" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS clip-path property (for HTML)",
                                                       ucprefix     => 0,
                                                     },
                "css-color-adjust"                => {
                                                       categories   => ["CSS"],
                                                       description  => "The `print-color-adjust` (or `-webkit-print-color-adjust` as prefixed in WebKit/Blink browsers) property is a CSS extension that can be used to force printing of background colors and images.",
                                                       keywords     => "color-adjust,print-color-adjust,color adjust,print color adjust,coloradjust,printcoloradjust",
                                                       links        => [
                                                                         {
                                                                           title => "MDN web docs - print-color-adjust",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/print-color-adjust",
                                                                         },
                                                                         {
                                                                           title => "Edge issue with print-color-adjust",
                                                                           url => "https://web.archive.org/web/20190624214232/https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/12399195/",
                                                                         },
                                                                         {
                                                                           title => "Chromium bug with print-color-adjust property",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=131054",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-color-adjust-1/#propdef-print-color-adjust",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "135" => "y x" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y x" },
                                                                         and_uc  => { "15.5" => "u" },
                                                                         baidu   => { "13.52" => "u" },
                                                                         bb      => { 7 => "u" },
                                                                         chrome  => { 4 => "u", 19 => "y x" },
                                                                         edge    => { "5.5" => "n", "79" => "y x" },
                                                                         firefox => { 2 => "n", 48 => "y" },
                                                                         ie_mob  => { 10 => "u" },
                                                                         ios_saf => { "3.2" => "u", "15.4" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y x" },
                                                                         opera   => { 9 => "n", 15 => "y x" },
                                                                         safari  => { "3.1" => "n", "6" => "y x", "15.4" => "y" },
                                                                         samsung => { 4 => "u" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS print-color-adjust",
                                                       ucprefix     => 0,
                                                     },
                "css-color-function"              => {
                                                       categories   => ["CSS"],
                                                       description  => "The CSS `color()` function allows the browser to display colors in any color space, such as the P3 color space which can display colors outside of the default sRGB color space.",
                                                       keywords     => "color(),Display-P3,A98-RGB,ProPhoto-RGB,REC-2020,Device-Dependent Colors,Profiled Colors,\@color-profile,color space",
                                                       links        => [
                                                                         {
                                                                           title => "Chromium implementation bug",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=1068610",
                                                                         },
                                                                         {
                                                                           title => "Firefox implementation bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1128204",
                                                                         },
                                                                         {
                                                                           title => "WebKit article on using color() with the P3 color space",
                                                                           url => "https://webkit.org/blog/10042/wide-gamut-color-in-css-with-display-p3/",
                                                                         },
                                                                         {
                                                                           title => "Color generator that uses color() with the P3 color space",
                                                                           url => "https://p3colorpicker.cool/",
                                                                         },
                                                                       ],
                                                       notes        => "For this function to work properly, the device screen and OS also needs to support the color space being used.",
                                                       notes_by_num => {
                                                                         1 => "Only supports `display-p3` predefined color profile.",
                                                                         2 => "Available behind the [Experimental Web Platform features](chrome://flags/#enable-experimental-web-platform-features) flag",
                                                                         3 => "Can be enabled by setting about:config flag `layout.css.more_color_4.enabled` to true",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-color/#color-function",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 108 => "n d #2", 111 => "y" },
                                                                         edge    => { "5.5" => "n", "108" => "n d #2", "111" => "y" },
                                                                         firefox => { 2 => "n", 111 => "n d #3", 113 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.3" => "a #1", "15.0-15.1" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 95 => "n d #2", 98 => "y" },
                                                                         safari  => { "3.1" => "n", "10.1" => "a #1", "15" => "y" },
                                                                         samsung => { 4 => "n", 22 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS color() function",
                                                       ucprefix     => 0,
                                                     },
                "css-conic-gradients"             => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5706155347148800,
                                                       description  => "Method of defining a conical or repeating conical color gradient as a CSS image.",
                                                       keywords     => "conical-gradient,repeating-conical-gradient,gradient,conical",
                                                       links        => [
                                                                         {
                                                                           title => "Client-side polyfill",
                                                                           url => "https://leaverou.github.io/conic-gradient/",
                                                                         },
                                                                         {
                                                                           title => "Server-side polyfill (PostCSS)",
                                                                           url => "https://github.com/jonathantneal/postcss-conic-gradient",
                                                                         },
                                                                         {
                                                                           title => "Mozilla bug #1175958: Implement conic gradients from CSS Image Values Level 4",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1175958",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - conic-gradient()",
                                                                           url => "https://developer.mozilla.org/docs/Web/CSS/conic-gradient",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled via the \"Experimental Web Platform Features\" flag",
                                                                         2 => "Does not support multi-position color stops",
                                                                         3 => "Can be enabled with the `layout.css.conic-gradient.enabled` flag",
                                                                       },
                                                       parent       => "css-gradients",
                                                       spec         => "https://www.w3.org/TR/css-images-4/#conic-gradients",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 59 => "n d #1 #2", 69 => "y #2", 71 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 75 => "n d #3", 83 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "12.2-12.5" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 46 => "n d #1 #2", 56 => "y #2", 58 => "y" },
                                                                         safari  => { "3.1" => "n", "12.1" => "y" },
                                                                         samsung => { "4" => "n", "10.1" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS Conical Gradients",
                                                       ucprefix     => 0,
                                                     },
                "css-container-queries"           => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 6525308435955712,
                                                       description  => "Size queries in Container Queries provide a way to query the size of a container, and conditionally apply CSS to the content of that container.",
                                                       keywords     => "container query,\@container,container-name,container-type",
                                                       links        => [
                                                                         {
                                                                           title => "Container Queries: a Quick Start Guide",
                                                                           url => "https://www.oddbird.net/2021/04/05/containerqueries/",
                                                                         },
                                                                         {
                                                                           title => "MDN article",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Container_Queries",
                                                                         },
                                                                         { title => "Chromium support bug", url => "https://crbug.com/1145970" },
                                                                         {
                                                                           title => "Collection of demos",
                                                                           url => "https://codepen.io/collection/XQrgJo",
                                                                         },
                                                                         {
                                                                           title => "WebKit support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=229659",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1744221",
                                                                         },
                                                                         {
                                                                           title => "Container Query Polyfill",
                                                                           url => "https://github.com/GoogleChromeLabs/container-query-polyfill",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled with the \"Enable CSS Container Queries\" feature flag under `chrome://flags`",
                                                                         2 => "The initial Chrome prototype used an earlier draft syntax based on the `contain` property",
                                                                         3 => "Combining size container queries and table layout inside a multicolumn layout doesn't work",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-contain-3/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 92 => "n d #1 #2", 93 => "n d #1", 105 => "a #3", 106 => "y" },
                                                                         edge    => { "5.5" => "n", "105" => "a #3", "106" => "y" },
                                                                         firefox => { 2 => "n", 110 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "16.0" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 79 => "n d #1", 91 => "a #3", 94 => "y" },
                                                                         safari  => { "3.1" => "n", "16.0" => "y" },
                                                                         samsung => { 4 => "n", 20 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS Container Queries (Size)",
                                                       ucprefix     => 0,
                                                     },
                "css-container-queries-style"     => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5076875399921664,
                                                       description  => "Style queries in Container Queries provide a way to query the current styling of a container, and conditionally apply additional CSS to the contents of that container.",
                                                       keywords     => "style query,style queries,style(),container query,container queries",
                                                       links        => [
                                                                         {
                                                                           title => "Getting Started with Style Queries",
                                                                           url => "https://developer.chrome.com/blog/style-queries/",
                                                                         },
                                                                         { title => "Style Queries", url => "https://una.im/style-queries/" },
                                                                         {
                                                                           title => "Container Queries: Style Queries",
                                                                           url => "https://www.bram.us/2022/10/14/container-queries-style-queries/",
                                                                         },
                                                                         {
                                                                           title => "CSS Style Queries",
                                                                           url => "https://ishadeed.com/article/css-container-style-queries/",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1795622",
                                                                         },
                                                                         {
                                                                           title => "WebKit support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=246605",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Enabled through the \"Experimental Web Platform features\" flag in `chrome://flags`",
                                                                         2 => "Partial support refers to only working with CSS custom property values in the `style()` query",
                                                                         3 => "The root element cannot be a container",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-contain-3/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "a #2" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 107 => "n d #1", 111 => "a #2" },
                                                                         edge    => { "5.5" => "n", "107" => "n d #1", "111" => "a #2" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "18.0" => "a #2 #3", "18.1" => "a #2" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "a #2" },
                                                                         opera   => { 9 => "n", 93 => "n d #1", 98 => "a #2" },
                                                                         safari  => { "3.1" => "n", "18.0" => "a #2 #3", "18.1" => "a #2" },
                                                                         samsung => { 4 => "n", 22 => "a #2" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS Container Style Queries",
                                                       ucprefix     => 0,
                                                     },
                "css-container-query-units"       => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 6525308435955712,
                                                       description  => "Container Query Units specify a length relative to the dimensions of a query container. The units include: `cqw`, `cqh`, `cqi`, `cqb`, `cqmin`, and `cqmax`.",
                                                       keywords     => "container query",
                                                       links        => [
                                                                         {
                                                                           title => "Blog post: CSS Container Query Units",
                                                                           url => "https://ishadeed.com/article/container-query-units/",
                                                                         },
                                                                         {
                                                                           title => "CSS Tricks: Container Units Should Be Pretty Handy",
                                                                           url => "https://css-tricks.com/container-units-should-be-pretty-handy/",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1744231",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled with the \"Enable CSS Container Queries\" feature flag under `chrome://flags`",
                                                                         2 => "The initial Chrome implementation used an earlier spec draft syntax: `q*` units",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-contain-3/#container-lengths",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 93 => "n d #1 #2", 101 => "n d #1", 105 => "y" },
                                                                         edge    => { "5.5" => "n", "105" => "y" },
                                                                         firefox => { 2 => "n", 110 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "16.0" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 79 => "n d #1", 91 => "y" },
                                                                         safari  => { "3.1" => "n", "16.0" => "y" },
                                                                         samsung => { 4 => "n", 20 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS Container Query Units",
                                                       ucprefix     => 0,
                                                     },
                "css-containment"                 => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 6522186978295808,
                                                       description  => "The CSS `contain` property lets developers limit the scope of the browser's styles, layout and paint work for faster and more efficient rendering.",
                                                       links        => [
                                                                         {
                                                                           title => "Google Developers article",
                                                                           url => "https://developers.google.com/web/updates/2016/06/css-containment",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled in older Gecko engines with the `layout.css.contain.enabled` flag in about:config",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-contain-1/#contain-property",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 51 => "n d", 52 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 41 => "n d #1", 69 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "15.4" => "y" },
                                                                         kaios   => { "2.5" => "n d #1", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 38 => "n d", 40 => "y" },
                                                                         safari  => { "3.1" => "n", "15.4" => "y" },
                                                                         samsung => { "4" => "n", "6.2-6.4" => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "CSS Containment",
                                                       ucprefix     => 0,
                                                     },
                "css-content-visibility"          => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 4613920211861504,
                                                       description  => "Provides control over when elements are rendered, so rendering can be skipped for elements not yet in the user's viewport. ",
                                                       links        => [
                                                                         {
                                                                           title => "content-visibility: the new CSS property that boosts your rendering performance",
                                                                           url => "https://web.dev/content-visibility/",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1660384",
                                                                         },
                                                                         {
                                                                           title => "WebKit support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=236238",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Enabled in Firefox by setting the `about:config` preference `layout.css.content-visibility.enabled` to true",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-contain-2/#content-visibility",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 85 => "y" },
                                                                         edge    => { "5.5" => "n", "85" => "y" },
                                                                         firefox => { 2 => "n", 109 => "n d #1", 125 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "18.0" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 71 => "y" },
                                                                         safari  => { "3.1" => "n", "18.0" => "y" },
                                                                         samsung => { "4" => "n", "14.0" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS content-visibility",
                                                       ucprefix     => 0,
                                                     },
                "css-counters"                    => {
                                                       categories => ["CSS2"],
                                                       description => "Method of controlling number values in generated content, using the `counter-reset` and `counter-increment` properties.",
                                                       links => [
                                                         {
                                                           title => "Tutorial and information",
                                                           url => "https://onwebdev.blogspot.com/2012/02/css-counters-tutorial.html",
                                                         },
                                                         {
                                                           title => "MDN Web Docs - CSS Counters",
                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Counter_Styles/Using_CSS_counters",
                                                         },
                                                         {
                                                           title => "WebPlatform Docs",
                                                           url => "https://webplatform.github.io/docs/css/properties/counter-reset",
                                                         },
                                                       ],
                                                       notes_by_num => {},
                                                       spec => "https://www.w3.org/TR/CSS21/generate.html#counters",
                                                       stats => {
                                                         and_chr => { "2.1" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "y" },
                                                         chrome  => { 4 => "y" },
                                                         edge    => { "5.5" => "n", "8" => "y" },
                                                         firefox => { 2 => "y" },
                                                         ie_mob  => { 10 => "y" },
                                                         ios_saf => { "3.2" => "y" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "y" },
                                                         op_mob  => { 10 => "y" },
                                                         opera   => { 9 => "y" },
                                                         safari  => { "3.1" => "y" },
                                                         samsung => { 4 => "y" },
                                                       },
                                                       status => "rec",
                                                       title => "CSS Counters",
                                                       ucprefix => 0,
                                                     },
                "css-crisp-edges"                 => {
                                                       categories   => ["CSS", "CSS3"],
                                                       chrome_id    => 5118058116939776,
                                                       description  => "Scales images with an algorithm that preserves edges and contrast, without smoothing colors or introducing blur. This is intended for images such as pixel art. Official values that accomplish this for the `image-rendering` property are `crisp-edges` and `pixelated`.",
                                                       keywords     => "image-rendering,crisp-edges",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS Image rendering",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering",
                                                                         },
                                                                         {
                                                                           title => "HTML5Rocks article",
                                                                           url => "https://developer.chrome.com/blog/pixelated/",
                                                                         },
                                                                         {
                                                                           title => "Firefox bug #856337: Implement image-rendering: pixelated",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=856337",
                                                                         },
                                                                         {
                                                                           title => "Chrome bug #317991: Implement image-rendering:crisp-edges",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=317991",
                                                                         },
                                                                       ],
                                                       notes        => "Note that prefixes apply to the value (e.g. `-moz-crisp-edges`), not the `image-rendering` property.",
                                                       notes_by_num => {
                                                                         1 => "Supported using the non-standard value `-webkit-optimize-contrast`",
                                                                         2 => "Internet Explorer accomplishes support using the non-standard declaration `-ms-interpolation-mode: nearest-neighbor`",
                                                                         3 => "Supports the `crisp-edges` value, but not `pixelated`.",
                                                                         4 => "Supports the `pixelated` value, but not `crisp-edges`.",
                                                                         5 => "Only works on `<img>`, not CSS backgrounds or `<canvas>`.",
                                                                         6 => "Only works on `<img>` and CSS backgrounds, _not_ `<canvas>`. ",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-images-3/#valdef-image-rendering-crisp-edges",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y #4" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y #4" },
                                                                         and_uc  => { "15.5" => "y #4" },
                                                                         baidu   => { "13.52" => "y #4" },
                                                                         bb      => { 7 => "n", 10 => "a x #1 #6" },
                                                                         chrome  => { 4 => "n", 41 => "y #4" },
                                                                         edge    => { "5.5" => "n", "7" => "a x #2 #5", "12" => "n", "79" => "y #4" },
                                                                         firefox => { "2" => "n", "3.6" => "y x #3", "65" => "y #3", "93" => "y" },
                                                                         ie_mob  => { 10 => "a x #2 #5" },
                                                                         ios_saf => {
                                                                                      "10.0-10.2" => "y",
                                                                                      "3.2"       => "n",
                                                                                      "5.0-5.1"   => "a x #1 #6",
                                                                                      "7.0-7.1"   => "a x #3 #6",
                                                                                    },
                                                                         kaios   => { "2.5" => "y #6", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 12 => "y x #3", 80 => "y #4" },
                                                                         opera   => { "9" => "n", "11.6" => "y x #3", "15" => "n", "28" => "y #4" },
                                                                         safari  => { "3.1" => "n", "6" => "a x #1", "6.1" => "a x #3 #6", "10" => "y" },
                                                                         samsung => { 4 => "y #4" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Crisp edges/pixelated images",
                                                       ucprefix     => 0,
                                                     },
                "css-cross-fade"                  => {
                                                       categories   => ["CSS"],
                                                       description  => "Image function to create a \"crossfade\" between images. This allows one image to transition (fade) into another based on a percentage value.",
                                                       keywords     => "css,image,crossfade",
                                                       links        => [
                                                                         {
                                                                           title => "Firefox bug #546052: Implement cross-fade()",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=546052",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - CSS cross-fade()",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/cross-fade()",
                                                                         },
                                                                         {
                                                                           title => "Chromium bug to unprefix `-webkit-cross-fade()`",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=614906",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-images-4/#cross-fade-function",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y x" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y x" },
                                                                         and_uc  => { "15.5" => "y x" },
                                                                         baidu   => { "13.52" => "y x" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 17 => "y x" },
                                                                         edge    => { "5.5" => "n", "79" => "y x" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.0-10.2" => "y", "3.2" => "n", "5.0-5.1" => "y x" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y x" },
                                                                         opera   => { 9 => "n", 15 => "y x" },
                                                                         safari  => { "3.1" => "n", "5.1" => "y x", "10" => "y" },
                                                                         samsung => { 4 => "y x" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS Cross-Fade Function",
                                                       ucprefix     => 0,
                                                     },
                "css-default-pseudo"              => {
                                                       categories   => ["CSS"],
                                                       description  => "The `:default` pseudo-class matches checkboxes and radio buttons which are checked by default, `<option>`s with the `selected` attribute, and the default submit button (if any) of a form.",
                                                       keywords     => ":default,default",
                                                       links        => [
                                                                         {
                                                                           title => "HTML specification for `:default`",
                                                                           url => "https://html.spec.whatwg.org/multipage/scripting.html#selector-default",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - CSS :default",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/:default",
                                                                         },
                                                                         {
                                                                           title => "WebKit bug 156230 - `:default` CSS pseudo-class should match checkboxes+radios with a `checked` attribute",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=156230",
                                                                         },
                                                                         {
                                                                           title => "JS Bin testcase",
                                                                           url => "https://jsbin.com/hiyada/edit?html,css,output",
                                                                         },
                                                                       ],
                                                       notes        => "Whether `<option selected>` matches `:default` (per the spec) was not tested since `<select>`s and `<option>`s are generally not styleable, which makes it hard to formulate a test for this.",
                                                       notes_by_num => {
                                                                         1 => "Does not match `<input type=\"checkbox\" checked>` or `<input type=\"radio\" checked>`",
                                                                         2 => "Does not match the default submit button of a form",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/selectors-4/#the-default-pseudo",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "4" => "a #1", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "u", 10 => "a #1" },
                                                                         chrome  => { 4 => "u", 15 => "a #1", 51 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "u", 4 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.3" => "y", "3.2" => "u", "7.0-7.1" => "a #1" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "a #2" },
                                                                         op_mob  => { "10" => "u", "12.1" => "a #2", "80" => "y" },
                                                                         opera   => { "9" => "u", "11.6" => "a #2", "15" => "a #1", "38" => "y" },
                                                                         safari  => { "3.1" => "u", "5.1" => "a #1", "10.1" => "y" },
                                                                         samsung => { "4" => "a #1", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => ":default CSS pseudo-class",
                                                       ucprefix     => 0,
                                                     },
                "css-descendant-gtgt"             => {
                                                       categories => ["CSS"],
                                                       description => "An explicit, non-whitespace spelling of the descendant combinator. `A >> B` is equivalent to `A B`.",
                                                       links => [
                                                         {
                                                           title => "MDN Web Docs - Descendant selectors",
                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/Descendant_selectors",
                                                         },
                                                         {
                                                           title => "JS Bin testcase",
                                                           url => "https://jsbin.com/qipekof/edit?html,css,output",
                                                         },
                                                         {
                                                           title => "Chrome issue #446050: Implement Descendant Combinator \">>\"",
                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=446050",
                                                         },
                                                         {
                                                           title => "Mozilla bug #1266283 - Implement CSS4 descendant combinator `>>`",
                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1266283",
                                                         },
                                                       ],
                                                       notes_by_num => {},
                                                       spec => "https://w3c.github.io/csswg-drafts/selectors-4/#descendant-combinators",
                                                       stats => {
                                                         and_chr => { "2.1" => "n" },
                                                         and_ff  => { 137 => "n" },
                                                         and_qq  => { "14.9" => "n" },
                                                         and_uc  => { "15.5" => "n" },
                                                         baidu   => { "13.52" => "n" },
                                                         bb      => { 7 => "n" },
                                                         chrome  => { 4 => "n" },
                                                         edge    => { "5.5" => "n", "79" => "u", "80" => "n" },
                                                         firefox => { 2 => "n" },
                                                         ie_mob  => { 10 => "n" },
                                                         ios_saf => { "3.2" => "n" },
                                                         kaios   => { "2.5" => "n" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "n" },
                                                         opera   => { 9 => "n" },
                                                         safari  => { "3.1" => "n", "11" => "y", "11.1" => "n" },
                                                         samsung => { 4 => "n" },
                                                       },
                                                       status => "unoff",
                                                       title => "Explicit descendant combinator >>",
                                                       ucprefix => 0,
                                                     },
                "css-deviceadaptation"            => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 4737164243894272,
                                                       description  => "Method of overriding the size of viewport in web page using the `\@viewport` rule, replacing Apple's own popular `<meta>` viewport implementation. Includes the `extend-to-zoom` width value.",
                                                       keywords     => "viewport,extend-to-zoom",
                                                       links        => [
                                                                         {
                                                                           title => "Introduction to meta viewport and \@viewport in Opera Mobile",
                                                                           url => "https://dev.opera.com/articles/view/an-introduction-to-meta-viewport-and-viewport/",
                                                                         },
                                                                         {
                                                                           title => "Device adaptation in Internet Explorer 10",
                                                                           url => "https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/dev-guides/hh708740(v=vs.85)",
                                                                         },
                                                                         {
                                                                           title => "Chrome tracking bug",
                                                                           url => "https://code.google.com/p/chromium/issues/detail?id=155477",
                                                                         },
                                                                         {
                                                                           title => "WebKit tracking bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=95959",
                                                                         },
                                                                         {
                                                                           title => "Mozilla tracking bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=747754",
                                                                         },
                                                                       ],
                                                       notes        => "Due to lack of implementation this specification [is slated to be retired](https://github.com/w3c/csswg-drafts/issues/4766).",
                                                       notes_by_num => {
                                                                         1 => "IE only supports the 'width' and 'height' properties.",
                                                                         2 => "Opera Mobile and Opera Mini only support the 'orientation' property.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-device-adapt/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n d" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 29 => "n d" },
                                                                         edge    => { "5.5" => "n", "10" => "a x #1", "79" => "n d" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "a x #1" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "a x #2" },
                                                                         op_mob  => { 10 => "n", 11 => "a x #2", 80 => "n" },
                                                                         opera   => { 9 => "n", 40 => "n d" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS Device Adaptation",
                                                       ucprefix     => 0,
                                                     },
                "css-dir-pseudo"                  => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5751531651465216,
                                                       description  => "Matches elements based on their directionality. `:dir(ltr)` matches elements which are Left-to-Right. `:dir(rtl)` matches elements which are Right-to-Left.",
                                                       keywords     => ":dir,dir,direction,ltr,rtl,left,right",
                                                       links        => [
                                                                         {
                                                                           title => "HTML specification for `:dir()`",
                                                                           url => "https://html.spec.whatwg.org/multipage/scripting.html#selector-ltr",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - CSS :dir",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/:dir",
                                                                         },
                                                                         {
                                                                           title => "Chrome issue #576815: CSS4 pseudo-class :dir()",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=576815",
                                                                         },
                                                                         {
                                                                           title => "WebKit bug #64861: Need support for :dir() pseudo-class",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=64861",
                                                                         },
                                                                         {
                                                                           title => "JS Bin testcase",
                                                                           url => "https://jsbin.com/celuye/edit?html,css,output",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled via the `#enable-experimental-web-platform-features` flag",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/selectors4/#the-dir-pseudo",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 91 => "n d #1", 120 => "y" },
                                                                         edge    => { "5.5" => "n", "105" => "n d #1", "120" => "y" },
                                                                         firefox => { 2 => "n", 17 => "y x", 49 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "16.4" => "y" },
                                                                         kaios   => { "2.5" => "y x", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 91 => "n d #1", 106 => "y" },
                                                                         safari  => { "3.1" => "n", "16.4" => "y" },
                                                                         samsung => { 4 => "n", 25 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => ":dir() CSS pseudo-class",
                                                       ucprefix     => 0,
                                                     },
                "css-display-contents"            => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5663606012116992,
                                                       description  => "`display: contents` causes an element's children to appear as if they were direct children of the element's parent, ignoring the element itself. This can be useful when a wrapper element should be ignored when using CSS grid or similar layout techniques.",
                                                       links        => [
                                                                         {
                                                                           title => "Vanishing boxes with display contents",
                                                                           url => "https://rachelandrew.co.uk/archives/2016/01/29/vanishing-boxes-with-display-contents/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to [severe implementation bugs](https://hiddedevries.nl/en/blog/2018-04-21-more-accessible-markup-with-display-contents) that renders content inaccessible for many element types.",
                                                                         2 => "Buttons are not accessible with `display: contents` applied. See issues for [Chromium](https://bugs.chromium.org/p/chromium/issues/detail?id=1366037), [Firefox](https://bugzilla.mozilla.org/show_bug.cgi?id=1791648), and [WebKit](https://bugs.webkit.org/show_bug.cgi?id=255149)",
                                                                         3 => "HTML tables and nodes with ARIA roles `directory`, `grid`, `treegrid`, `table`, `row`, `gridcell`, `cell`, `columnheader`, `tree`, and `treeitem` are not accessible with `display: contents` applied. See WebKit bugs [239478](https://bugs.webkit.org/show_bug.cgi?id=239478), [239479](https://bugs.webkit.org/show_bug.cgi?id=239479), [239478](https://bugs.webkit.org/show_bug.cgi?id=239478), and [257458](https://bugs.webkit.org/show_bug.cgi?id=257458)",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-display/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "a #2" },
                                                                         and_ff  => { 137 => "a #2" },
                                                                         and_qq  => { "14.9" => "a #1" },
                                                                         and_uc  => { "15.5" => "a #1" },
                                                                         baidu   => { "13.52" => "a #2" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 58 => "n d #1", 65 => "a #1", 89 => "a #2" },
                                                                         edge    => { "5.5" => "n", "79" => "a #1", "89" => "a #2" },
                                                                         firefox => { 2 => "n", 37 => "a #1", 62 => "a #2" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => {
                                                                                      "11.3-11.4" => "a #1",
                                                                                      "13.4-13.7" => "a #2",
                                                                                      "16.0"      => "a #2 #3",
                                                                                      "16.1"      => "a #3",
                                                                                      "17.0"      => "y",
                                                                                      "3.2"       => "n",
                                                                                    },
                                                                         kaios   => { "2.5" => "a #1", "3.0-3.1" => "a #2" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "a #2" },
                                                                         opera   => { 9 => "n", 52 => "a #1", 76 => "a #2" },
                                                                         safari  => { "3.1" => "n", "11.1" => "a #1", "16.0" => "a #2 #3", "17.0" => "a #2" },
                                                                         samsung => { "4" => "n", "9.2" => "a #1", "15.0" => "a #2" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS display: contents",
                                                       ucprefix     => 0,
                                                     },
                "css-element-function"            => {
                                                       categories   => ["CSS3"],
                                                       description  => "This function renders a live image generated from an arbitrary HTML element",
                                                       keywords     => "element, function",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS element",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/element",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "In Firefox < 4, usage is limited to the background and background-image CSS properties",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css4-images/#element-notation",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "y x" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n" },
                                                                         edge    => { "5.5" => "n" },
                                                                         firefox => { 2 => "a x #1", 4 => "y x" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y x" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS element() function",
                                                       ucprefix     => 0,
                                                     },
                "css-env-function"                => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5710044637167616,
                                                       description  => "Usage of environment variables like `safe-area-inset-top`.",
                                                       keywords     => "css env(),css constant(),css variables,safe-area-inset-top,safe-area-inset-right,safe-area-inset-bottom,safe-area-inset-left",
                                                       links        => [
                                                                         {
                                                                           title => "JSFiddle test case",
                                                                           url => "https://jsfiddle.net/mrd3h90w/",
                                                                         },
                                                                         {
                                                                           title => "The env() CSS Function - MDN Web Docs",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/env",
                                                                         },
                                                                         {
                                                                           title => "Designing Websites for iPhone X - WebKit Blog",
                                                                           url => "https://webkit.org/blog/7929/designing-websites-for-iphone-x/",
                                                                         },
                                                                       ],
                                                       notes_by_num => { 1 => "Supported as `constant()` instead of `env()`" },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-env-1/#env-function",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 69 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 65 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.0-11.2" => "a #1", "11.3-11.4" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 56 => "y" },
                                                                         safari  => { "3.1" => "n", "11" => "a #1", "11.1" => "y" },
                                                                         samsung => { "4" => "n", "10.1" => "y" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "CSS Environment Variables env()",
                                                       ucprefix     => 0,
                                                     },
                "css-exclusions"                  => {
                                                       categories   => ["CSS"],
                                                       description  => "Exclusions defines how inline content flows around elements. It extends the content wrapping ability of floats to any block-level element.",
                                                       keywords     => "floats,exclusions,wrap-flow,wrap-through",
                                                       links        => [
                                                                         {
                                                                           title => "CSS Exclusions",
                                                                           url => "https://msdn.microsoft.com/en-us/library/ie/hh673558(v=vs.85).aspx",
                                                                         },
                                                                         {
                                                                           title => "Firefox tracking bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=674804",
                                                                         },
                                                                         {
                                                                           title => "WebKit tracking bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=57311",
                                                                         },
                                                                         { title => "Chromium tracking bug", url => "https://crbug.com/700838" },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/css3-exclusions/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n" },
                                                                         edge    => { "5.5" => "n", "10" => "y x", "79" => "n" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "y x" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS Exclusions Level 1",
                                                       ucprefix     => 0,
                                                     },
                "css-featurequeries"              => {
                                                       categories   => ["CSS3"],
                                                       chrome_id    => 4993981813358592,
                                                       description  => "CSS Feature Queries allow authors to condition rules based on whether particular property declarations are supported in CSS using the \@supports at rule.",
                                                       keywords     => "supports,conditional",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS \@supports",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/\@supports",
                                                                         },
                                                                         {
                                                                           title => "\@supports in Firefox",
                                                                           url => "https://mcc.id.au/blog/2012/08/supports",
                                                                         },
                                                                         { title => "Test case", url => "https://dabblet.com/gist/3895764" },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/atrules/supports",
                                                                         },
                                                                       ],
                                                       notes        => "See also the [CSS.supports() DOM API](css-supports-api)",
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/css3-conditional/#at-supports",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 28 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "y" },
                                                                         firefox => { 2 => "n", 22 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { "9" => "n", "12.1" => "y" },
                                                                         safari  => { "3.1" => "n", "9" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS Feature Queries",
                                                       ucprefix     => 0,
                                                     },
                "css-filter-function"             => {
                                                       categories   => ["CSS", "CSS3"],
                                                       chrome_id    => 5425136400334848,
                                                       description  => "This function filters a CSS input image with a set of filter functions (like blur, grayscale or hue)",
                                                       keywords     => "filter, function",
                                                       links        => [
                                                                         {
                                                                           title => "Blog post",
                                                                           url => "https://iamvdo.me/en/blog/advanced-css-filters#filter",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1191043",
                                                                         },
                                                                         { title => "Chromium support bug", url => "https://crbug.com/541698" },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/filter-effects/#FilterCSSImageValue",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n" },
                                                                         edge    => { "5.5" => "n" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.0-10.2" => "y", "3.2" => "n", "9.0-9.2" => "y x" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n" },
                                                                         safari  => { "3.1" => "n", "9" => "y x", "9.1" => "y" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS filter() function",
                                                       ucprefix     => 0,
                                                     },
                "css-filters"                     => {
                                                       categories   => ["CSS", "CSS3"],
                                                       chrome_id    => 5822463824887808,
                                                       description  => "Method of applying filter effects using the `filter` property to elements, matching filters available in SVG. Filter functions include blur, brightness, contrast, drop-shadow, grayscale, hue-rotate, invert, opacity, sepia and saturate.",
                                                       keywords     => "filter:",
                                                       links        => [
                                                                         { title => "Demo", url => "https://fhtr.org/css-filters/" },
                                                                         {
                                                                           title => "HTML5Rocks article",
                                                                           url => "https://www.html5rocks.com/en/tutorials/filters/understanding-css/",
                                                                         },
                                                                         {
                                                                           title => "Filter editor",
                                                                           url => "https://web.archive.org/web/20160219005748/https://dl.dropboxusercontent.com/u/3260327/angular/CSS3ImageManipulation.html",
                                                                         },
                                                                         {
                                                                           title => "Filter Playground",
                                                                           url => "https://web.archive.org/web/20160310041612/http://bennettfeely.com/filters/",
                                                                         },
                                                                       ],
                                                       notes        => "Note that this property is significantly different from and incompatible with Microsoft's [older \"filter\" property](http://msdn.microsoft.com/en-us/library/ie/ms530752%28v=vs.85%29.aspx).",
                                                       notes_by_num => {
                                                                         1 => "Supported in Firefox under the `layout.css.filters.enabled` flag.",
                                                                         2 => "Supported in MS Edge under the \"Enable CSS filter property\" flag.",
                                                                         3 => "Partial support in Firefox before version 34 [only implemented the url() function of the filter property](https://developer.mozilla.org/en-US/docs/Web/CSS/filter#Browser_compatibility)",
                                                                         4 => "Partial support refers to supporting filter functions, but not the `url` function.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/filter-effects-1/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y x", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y x" },
                                                                         chrome  => { 4 => "n", 18 => "y x", 53 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "n d #2 #4", "13" => "a #4", "79" => "y" },
                                                                         firefox => { "2" => "n", "3.6" => "a #3", "34" => "a d #1", "35" => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "6.0-6.1" => "y x", "9.3" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y x", 40 => "y" },
                                                                         safari  => { "3.1" => "n", "6" => "y x", "9.1" => "y" },
                                                                         samsung => { "4" => "y x", "7.2-7.4" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS Filter Effects",
                                                       ucprefix     => 0,
                                                     },
                "css-first-letter"                => {
                                                       categories   => ["CSS"],
                                                       description  => "CSS pseudo-element that allows styling only the first \"letter\" of text within an element. Useful for implementing initial caps or drop caps styling.",
                                                       keywords     => "first,letter,pseudo,element,class,selector",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - :first-letter",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/::first-letter",
                                                                         },
                                                                       ],
                                                       notes        => "The spec says that both letters of digraphs which are always capitalized together (such as \"IJ\" in Dutch) should be matched by ::first-letter, but no browser has ever implemented this.",
                                                       notes_by_num => {
                                                                         1 => "Excludes punctuation immediately after the first letter from the match. (The spec says it should be included in the match.)",
                                                                         2 => "Acts like the first character is always a letter even when it's not. For example, given \"!,X;\", \"!,\" is matched instead of the entire string.",
                                                                         3 => "Only recognizes the deprecated :first-letter pseudo-class, not the ::first-letter pseudo-element.",
                                                                         4 => "Only matches the very first character. The spec says that surrounding punctuation should also match.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-selectors/#first-letter",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "a #1", "3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "a #1", 5 => "u", 9 => "y" },
                                                                         edge    => { "5.5" => "u", "6" => "a #3 #4", "8" => "a #3", "9" => "y" },
                                                                         firefox => { "2" => "a #2", "3" => "a #1", "3.5" => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "u", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "a #2", 12 => "y" },
                                                                         opera   => { "10.0-10.1" => "a #2", "11.6" => "y", "9" => "u" },
                                                                         safari  => { "3.1" => "u", "3.2" => "a #1", "5" => "u", "5.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "::first-letter CSS pseudo-element selector",
                                                       ucprefix     => 0,
                                                     },
                "css-first-line"                  => {
                                                       categories   => ["CSS3"],
                                                       description  => "Allows styling specifically for the first line of text using the `::first-line` pseudo-element. Note that only a limited set of properties can be applied.",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - ::first-line",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/::first-line",
                                                                         },
                                                                         {
                                                                           title => "CSS tricks article",
                                                                           url => "https://css-tricks.com/almanac/selectors/f/first-line/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "IE8 only supports the single-colon CSS 2.1 syntax (i.e. `:first-line`). It does not support the double-colon CSS3 syntax (i.e. `::first-line`).",
                                                                       },
                                                       parent       => "css-sel3",
                                                       spec         => "https://w3c.github.io/csswg-drafts/selectors-3/#first-line",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "a #1", "9" => "y" },
                                                                         firefox => { 2 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { 9 => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "CSS first-line pseudo-element",
                                                       ucprefix     => 0,
                                                     },
                "css-fixed"                       => {
                                                       categories => ["CSS"],
                                                       description => "Method of keeping an element in a fixed location regardless of scroll position",
                                                       links => [
                                                         {
                                                           title => "Article on mobile support",
                                                           url => "https://bradfrost.com/blog/post/fixed-position/",
                                                         },
                                                         {
                                                           title => "position: fixed on MDN",
                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/position#fixed",
                                                         },
                                                       ],
                                                       notes_by_num => {
                                                         1 => "Partial support in older iOS Safari refers to [buggy behavior](http://remysharp.com/2012/05/24/issues-with-position-fixed-scrolling-on-ios/).",
                                                         2 => "Only works in Android 2.1 thru 2.3 by using the following meta tag: <meta name=\"viewport\" content=\"width=device-width, user-scalable=no\">.",
                                                         3 => "Android 4.0-4.3 [ignore transforms and margin:auto on position:fixed elements](https://codepen.io/mattiacci/pen/mPRKZY).",
                                                         4 => "in Safari 9.1, having a `position:fixed`-element inside an animated element, [may cause the `position:fixed`-element to not appear](https://jsbin.com/fuxipax).",
                                                       },
                                                       spec => "https://www.w3.org/TR/CSS21/visuren.html#fixed-positioning",
                                                       stats => {
                                                         and_chr => { "2.1" => "a #2", "3" => "y", "4" => "y #3", "4.4" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "y" },
                                                         chrome  => { 4 => "y" },
                                                         edge    => { "5.5" => "n", "6" => "p", "7" => "y" },
                                                         firefox => { 2 => "y" },
                                                         ie_mob  => { 10 => "y" },
                                                         ios_saf => { "3.2" => "n", "5.0-5.1" => "a #1", "8" => "y" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "y" },
                                                         opera   => { 9 => "y" },
                                                         safari  => { "3.1" => "y", "9.1" => "y #4", "10" => "y" },
                                                         samsung => { 4 => "y" },
                                                       },
                                                       status => "rec",
                                                       title => "CSS position:fixed",
                                                       ucprefix => 0,
                                                     },
                "css-focus-visible"               => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5823526732824576,
                                                       description  => "The `:focus-visible` pseudo-class applies while an element matches the `:focus` pseudo-class, and the UA determines via heuristics that the focus should be specially indicated on the element (typically via a \x{201C}focus ring\x{201D}).",
                                                       keywords     => "focus,ring,focusring,focus-ring,visible,focus-visible,pseudo",
                                                       links        => [
                                                                         {
                                                                           title => "Prototype for `:focus-visible`",
                                                                           url => "https://github.com/WICG/focus-visible",
                                                                         },
                                                                         {
                                                                           title => "Chrome does not support CSS Selectors 4 :focus-visible",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=817199",
                                                                         },
                                                                         {
                                                                           title => "Blink: Intent to implement :focus-visible pseudo class.",
                                                                           url => "https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/-wN72ESFsyo",
                                                                         },
                                                                         {
                                                                           title => "Mozilla Developer Network (MDN) documentation - :-moz-focusring",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-focusring",
                                                                         },
                                                                         {
                                                                           title => "Bugzilla: Add :focus-visible (former :focus-ring)",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1437901",
                                                                         },
                                                                         {
                                                                           title => "Bugzilla: implement :focus-visible pseudo-class (rename/alias :-moz-focusring)",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1445482",
                                                                         },
                                                                         {
                                                                           title => "WebKit bug #185859: [selectors] Support for Focus-Indicated Pseudo-class: `:focus-visible`",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=185859",
                                                                         },
                                                                       ],
                                                       notes        => "Previously drafted as `:focus-ring`",
                                                       notes_by_num => {
                                                                         1 => "As `:-moz-focusring`",
                                                                         2 => "Enabled through the \"Experimental Web Platform features\" flag in chrome://flags",
                                                                         3 => "Can be enabled via \":focus-visible pseudo-class\" in the Experimental Features menu",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/selectors-4/#the-focus-visible-pseudo",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 67 => "p d #2", 86 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "p d #2", "86" => "y" },
                                                                         firefox => { 2 => "n", 4 => "y x #1", 85 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "15.0-15.1" => "n d #3", "15.4" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y x #1" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 66 => "p d #2", 72 => "y" },
                                                                         safari  => { "3.1" => "n", "15" => "n d #3", "15.4" => "y" },
                                                                         samsung => { "4" => "n", "14.0" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => ":focus-visible CSS pseudo-class",
                                                       ucprefix     => 0,
                                                     },
                "css-focus-within"                => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5363834508279808,
                                                       description  => "The `:focus-within` pseudo-class matches elements that either themselves match `:focus` or that have descendants which match `:focus`.",
                                                       keywords     => "focus,within,focus-within,pseudo",
                                                       links        => [
                                                                         {
                                                                           title => "The Future Generation of CSS Selectors: Level 4: Generalized Input Focus Pseudo-class",
                                                                           url => "https://www.sitepoint.com/future-generation-css-selectors-level-4/#generalized-input-focus-pseudo-class-focus-within",
                                                                         },
                                                                         {
                                                                           title => "ally.style.focusWithin Polyfill, part of ally.js",
                                                                           url => "https://allyjs.io/api/style/focus-within.html",
                                                                         },
                                                                         {
                                                                           title => "WebKit bug #140144: Add support for CSS4 `:focus-within` pseudo",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=140144",
                                                                         },
                                                                         {
                                                                           title => "Chromium issue #617371: Implement `:focus-within` pseudo-class from Selectors Level 4",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=617371",
                                                                         },
                                                                         {
                                                                           title => "Mozilla bug #1176997: Add support for pseudo class `:focus-within`",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1176997",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - :focus-within",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-within",
                                                                         },
                                                                         {
                                                                           title => "JS Bin testcase",
                                                                           url => "https://jsbin.com/qevoqa/edit?html,css,output",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled via the \"Experimental Web Platform Features\" flag",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/selectors-4/#the-focus-within-pseudo",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 59 => "n d #1", 60 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 52 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "10.3" => "y" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 46 => "n d #1", 47 => "y" },
                                                                         safari  => { "3.1" => "n", "10.1" => "y" },
                                                                         samsung => { "4" => "n", "8.2" => "y" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => ":focus-within CSS pseudo-class",
                                                       ucprefix     => 0,
                                                     },
                "css-font-palette"                => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5674031696052224,
                                                       description  => "The font-palette CSS property allows selecting a palette from a color font. In combination with the `\@font-palette-values` at-rule, custom palettes can be defined.",
                                                       keywords     => "font-palette,palette,color,colr,cpal,color-font,fontface,webfonts",
                                                       links        => [
                                                                         {
                                                                           title => "Demo",
                                                                           url => "https://yisibl.github.io/color-font-palette/",
                                                                         },
                                                                         {
                                                                           title => "Explainer",
                                                                           url => "https://github.com/drott/csswg-drafts/blob/paletteExplainer/css-fonts-4/palette-explainer.md",
                                                                         },
                                                                         {
                                                                           title => "Safari 15.4 Beta Release Notes",
                                                                           url => "https://webkit.org/blog/12445/new-webkit-features-in-safari-15-4/#typography",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1461588",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/css-fonts-4/#propdef-font-palette",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 101 => "y" },
                                                                         edge    => { "5.5" => "n", "105" => "y" },
                                                                         firefox => { 2 => "n", 107 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "15.4" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 87 => "y" },
                                                                         safari  => { "3.1" => "n", "15.4" => "y" },
                                                                         samsung => { "4" => "n", "19.0" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS font-palette",
                                                       ucprefix     => 0,
                                                     },
                "css-font-rendering-controls"     => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 4799947908055040,
                                                       description  => "`\@font-face` descriptor `font-display` that allows control over how a downloadable font renders before it is fully loaded.",
                                                       keywords     => "swap,fallback,optional,block,font-display",
                                                       links        => [
                                                                         {
                                                                           title => "Google Developers article",
                                                                           url => "https://developers.google.com/web/updates/2016/02/font-display",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - font-display",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/\@font-face/font-display",
                                                                         },
                                                                         {
                                                                           title => "CSS tricks article",
                                                                           url => "https://css-tricks.com/font-display-masses/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled via the `layout.css.font-display.enabled` flag",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-fonts-4/#font-display-desc",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 49 => "n d", 60 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 46 => "n d #1", 58 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.3-11.4" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n d #1", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 36 => "n d", 47 => "y" },
                                                                         safari  => { "3.1" => "n", "11.1" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "n d", "8.2" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS font-display",
                                                       ucprefix     => 0,
                                                     },
                "css-font-stretch"                => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 4598830058176512,
                                                       description  => "If a font has multiple types of variations based on the width of characters, the `font-stretch` property allows the appropriate one to be selected. The property in itself does not cause the browser to stretch to a font.",
                                                       keywords     => "font stretch",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - font-stretch",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/font-stretch",
                                                                         },
                                                                         {
                                                                           title => "CSS Tricks article",
                                                                           url => "https://css-tricks.com/almanac/properties/f/font-stretch/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/css-fonts-3/#font-stretch-prop",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 48 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                                         firefox => { 2 => "n", 9 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "10.3" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 35 => "y" },
                                                                         safari  => { "3.1" => "n", "11" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "CSS font-stretch",
                                                       ucprefix     => 0,
                                                     },
                "css-gencontent"                  => {
                                                       categories   => ["CSS2", "CSS3"],
                                                       description  => "Method of displaying text or images before or after the given element's contents using the ::before and ::after pseudo-elements. All browsers with support also support the `attr()` notation in the `content` property. ",
                                                       keywords     => "before,after",
                                                       links        => [
                                                                         {
                                                                           title => "Guide on usage",
                                                                           url => "https://www.westciv.com/style_master/academy/css_tutorial/advanced/generated_content.html",
                                                                         },
                                                                         {
                                                                           title => "Dev.Opera article",
                                                                           url => "https://dev.opera.com/articles/view/css-generated-content-techniques/",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/generated_and_replaced_content",
                                                                         },
                                                                       ],
                                                       notes        => "For content to appear in pseudo-elements, the `content` property must be set (but may be an empty string).",
                                                       notes_by_num => {
                                                                         1 => "IE8 only supports the single-colon CSS 2.1 syntax (i.e. :pseudo-class). It does not support the double-colon CSS3 syntax (i.e. ::pseudo-element).",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/CSS21/generate.html",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "8" => "a #1", "9" => "y" },
                                                                         firefox => { 2 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { 9 => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "CSS Generated content for pseudo-elements",
                                                       ucprefix     => 0,
                                                     },
                "css-gradients"                   => {
                                                       categories   => ["CSS3"],
                                                       chrome_id    => 5785905063264256,
                                                       description  => "Method of defining a linear or radial color gradient as a CSS image.",
                                                       keywords     => "linear,linear-gradient,gradiant",
                                                       links        => [
                                                                         {
                                                                           title => "Cross-browser editor",
                                                                           url => "https://www.colorzilla.com/gradient-editor/",
                                                                         },
                                                                         {
                                                                           title => "Tool to emulate support in IE",
                                                                           url => "http://css3pie.com/",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/functions/linear-gradient",
                                                                         },
                                                                       ],
                                                       notes        => "Syntax used by browsers with prefixed support may be incompatible with that for proper support.\r\n\r\nSupport can be somewhat emulated in older IE versions using the non-standard \"gradient\" filter. \r\n\r\nFirefox 10+, Opera 11.6+, Chrome 26+ and IE10+ also support the new \"to (side)\" syntax.",
                                                       notes_by_num => {
                                                                         1 => "Partial support in Opera 11.10 and 11.50 also refers to only having support for linear gradients.",
                                                                         2 => "Partial support in Safari and Older Firefox versions refers to not using premultiplied colors which results in unexpected behavior when using the transparent keyword as advised by the [spec](https://www.w3.org/TR/2012/CR-css3-images-20120417/#color-stop-syntax).",
                                                                         3 => "Implements an earlier prefixed syntax as `-webkit-gradient`",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-images/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a x #3", "4" => "y x", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a x #3", 10 => "y" },
                                                                         chrome  => { 4 => "a x #3", 10 => "y x", 26 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { "2" => "n", "3.6" => "a x #2", "16" => "a #2", "36" => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => {
                                                                                      "15.4"    => "y",
                                                                                      "3.2"     => "a x #2 #3",
                                                                                      "5.0-5.1" => "a x #2",
                                                                                      "7.0-7.1" => "a #2",
                                                                                    },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "n", "11.1" => "a x #1", "12" => "y x", "12.1" => "y" },
                                                                         opera   => { "9" => "n", "11.1" => "a x #1", "11.6" => "y x", "12.1" => "y" },
                                                                         safari  => {
                                                                                      "3.1"  => "n",
                                                                                      "4"    => "a x #2 #3",
                                                                                      "5.1"  => "a x #2",
                                                                                      "6.1"  => "a #2",
                                                                                      "15.4" => "y",
                                                                                    },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS Gradients",
                                                       ucprefix     => 0,
                                                     },
                "css-grid"                        => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 4589636412243968,
                                                       description  => "Method of using a grid concept to lay out content, providing a mechanism for authors to divide available space for layout into columns and rows using a set of predictable sizing behaviors. Includes support for all `grid-*` properties and the `fr` unit.",
                                                       keywords     => "grids,grid-row,grid-column,grid-template,display:grid,displaygrid,inline-grid,fr unit,fractional unit,cssgrid,justify-content:space-between,justify-content:space-around,align-content:space-between,align-content:space-around,space-between",
                                                       links        => [
                                                                         {
                                                                           title => "Polyfill based on old spec",
                                                                           url => "https://github.com/codler/Grid-Layout-Polyfill",
                                                                         },
                                                                         {
                                                                           title => "Polyfill based on new spec",
                                                                           url => "https://github.com/FremyCompany/css-grid-polyfill/",
                                                                         },
                                                                         {
                                                                           title => "WebKit Blog post",
                                                                           url => "https://webkit.org/blog/7434/css-grid-layout-a-new-layout-module-for-the-web/",
                                                                         },
                                                                         {
                                                                           title => "Css Grid By Example: Everything you need to learn CSS Grid Layout",
                                                                           url => "https://gridbyexample.com/",
                                                                         },
                                                                         {
                                                                           title => "Mozilla: Introduction to CSS Grid Layout",
                                                                           url => "https://mozilladevelopers.github.io/playground/css-grid",
                                                                         },
                                                                       ],
                                                       notes        => "See also support for [subgrids](#feat=css-subgrid)",
                                                       notes_by_num => {
                                                                         1 => "Enabled in Chrome through the \"experimental Web Platform features\" flag in chrome://flags",
                                                                         2 => "Partial support in IE refers to supporting an [older version](https://www.w3.org/TR/2011/WD-css3-grid-layout-20110407/) of the specification.",
                                                                         3 => "Enabled in Firefox through the `layout.css.grid.enabled ` flag",
                                                                         4 => "There are some bugs with overflow ([1356820](https://bugzilla.mozilla.org/show_bug.cgi?id=1356820), [1348857](https://bugzilla.mozilla.org/show_bug.cgi?id=1348857), [1350925](https://bugzilla.mozilla.org/show_bug.cgi?id=1350925))",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-grid-1/",
                                                       stats        => {
                                                                         and_chr => { "135" => "y", "2.1" => "n", "4.2-4.3" => "p" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 25 => "p", 29 => "p d #1", 57 => "y #4", 58 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "p", "10" => "a x #2", "16" => "y" },
                                                                         firefox => { 2 => "n", 19 => "p", 40 => "p d #3", 52 => "y #4", 54 => "y" },
                                                                         ie_mob  => { 10 => "a x #2" },
                                                                         ios_saf => { "10.3" => "y", "3.2" => "n", "6.0-6.1" => "p" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 28 => "p d #1", 44 => "y" },
                                                                         safari  => { "3.1" => "n", "6" => "p", "10.1" => "y" },
                                                                         samsung => { "4" => "p", "5.0-5.4" => "n", "6.2-6.4" => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS Grid Layout (level 1)",
                                                       ucprefix     => 0,
                                                     },
                "css-hanging-punctuation"         => {
                                                       categories   => ["CSS"],
                                                       description  => "Allows some punctuation characters from start (or the end) of text elements to be placed \"outside\" of the box in order to preserve the reading flow.",
                                                       keywords     => "hanging punctuation,force-end,allow-end",
                                                       links        => [
                                                                         {
                                                                           title => "CSS tricks article",
                                                                           url => "https://css-tricks.com/almanac/properties/h/hanging-punctuation/",
                                                                         },
                                                                         {
                                                                           title => "Firefox bug #1253615",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1253615",
                                                                         },
                                                                         {
                                                                           title => "Chrome bug #41491716",
                                                                           url => "https://issues.chromium.org/issues/41491716",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Safari does not support the `force-end` keyword, though it does recognize it. ([see bug](https://bugs.webkit.org/show_bug.cgi?id=233761)).",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-text-3/#hanging-punctuation-property",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n" },
                                                                         edge    => { "5.5" => "n" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.0-10.2" => "a #1", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n" },
                                                                         safari  => { "3.1" => "n", "10" => "a #1" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS hanging-punctuation",
                                                       ucprefix     => 0,
                                                     },
                "css-has"                         => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5794378545102848,
                                                       description  => "Select elements containing specific content. For example, `a:has(img)` selects all `<a>` elements that contain an `<img>` child.",
                                                       keywords     => "children,parent,selector",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - :has",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/:has",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=418039",
                                                                         },
                                                                         {
                                                                           title => "Chrome bug to track implementation",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=669058",
                                                                         },
                                                                         {
                                                                           title => "WebKit support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=227702",
                                                                         },
                                                                         {
                                                                           title => "Using :has() as a CSS Parent Selector and much more",
                                                                           url => "https://webkit.org/blog/13096/css-has-pseudo-class/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled via the [Experimental Web Platform features](chrome://flags/#enable-experimental-web-platform-features) flag",
                                                                         2 => "Supported in Firefox behind the `layout.css.has-selector.enabled` flag, which is enabled by default since 119 (only Nightly)",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/selectors-4/#relational",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 101 => "n d #1", 105 => "y" },
                                                                         edge    => { "5.5" => "n", "105" => "y" },
                                                                         firefox => { 2 => "n", 103 => "n d #2", 121 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "15.4" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 91 => "y" },
                                                                         safari  => { "3.1" => "n", "15.4" => "y" },
                                                                         samsung => { 4 => "n", 20 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => ":has() CSS relational pseudo-class",
                                                       ucprefix     => 0,
                                                     },
                "css-hyphens"                     => {
                                                       categories   => ["CSS3"],
                                                       description  => "Method of controlling when words at the end of lines should be hyphenated using the \"hyphens\" property.",
                                                       keywords     => "hyphen,shy",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS hyphens",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/hyphens",
                                                                         },
                                                                         { title => "Blog post", url => "https://clagnut.com/blog/2394" },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/properties/hyphens",
                                                                         },
                                                                         {
                                                                           title => "Chromium bug for implementing hyphenation",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=652964",
                                                                         },
                                                                         {
                                                                           title => "WebKit bug to unprefix `-webkit-hyphens`",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=193002",
                                                                         },
                                                                       ],
                                                       notes        => "Chrome < 55 and Android 4.0 Browser support \"-webkit-hyphens: none\", but not the \"auto\" property. It is [advisable to set the \@lang attribute](http://blog.adrianroselli.com/2015/01/on-use-of-lang-attribute.html) on the HTML element to enable hyphenation support and improve accessibility.",
                                                       notes_by_num => {
                                                                         1 => "Only supported on Android & Mac platforms (and only the \"auto\" value) for now. [See commit](https://crrev.com/ed7e106e0e48b3afb160a5bdbb37649e307d2b05) & related [bug](https://bugs.chromium.org/p/chromium/issues/detail?id=652964).",
                                                                         2 => "Only supported on Android & Mac platforms",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-text/#hyphenation",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 55 => "a #1", 88 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y x", "79" => "a #1", "88" => "a #2", "105" => "y" },
                                                                         firefox => { 2 => "n", 6 => "y x", 43 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "17.0" => "y", "3.2" => "n", "4.2-4.3" => "y x" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 42 => "a #1", 91 => "y" },
                                                                         safari  => { "3.1" => "n", "5.1" => "y x", "17.0" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "a #1", "6.2-6.4" => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS Hyphenation",
                                                       ucprefix     => 0,
                                                     },
                "css-image-orientation"           => {
                                                       categories   => ["CSS3"],
                                                       chrome_id    => 6313474512650240,
                                                       description  => "CSS property used generally to fix the intended orientation of an image. This can be done using 90 degree increments or based on the image's EXIF data using the \"from-image\" value.",
                                                       keywords     => "image-orientation,from-image,flip",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS image-orientation",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/image-orientation",
                                                                         },
                                                                         {
                                                                           title => "Blog post",
                                                                           url => "http://sethfowler.org/blog/2013/09/13/new-in-firefox-26-css-image-orientation/",
                                                                         },
                                                                         { title => "Demo (Chinese)", url => "https://jsbin.com/EXUTolo/4" },
                                                                         {
                                                                           title => "Chromium bug #158753: Support for the CSS image-orientation CSS property",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=158753",
                                                                         },
                                                                       ],
                                                       notes        => "Opening the image in a new tab in Chrome results in the image shown in the orientation according to the EXIF data.",
                                                       notes_by_num => {
                                                                         1 => "Partial support in iOS refers to the browser using EXIF data by default, though it does not actually support the property.",
                                                                         2 => "Has [a bug](https://bugs.chromium.org/p/chromium/issues/detail?id=1082669) where the browser is not maintaining the image\x{2019}s aspect ratio when `object-fit: cover` and `image-orientation: from-image` are used together.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-images-3/#the-image-orientation",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 81 => "y #2", 89 => "y" },
                                                                         edge    => { "5.5" => "n", "81" => "y #2", "89" => "y" },
                                                                         firefox => { 2 => "n", 26 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "13.4-13.7" => "y", "3.2" => "a #1" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 68 => "y #2", 77 => "y" },
                                                                         safari  => { "3.1" => "n", "13.1" => "y" },
                                                                         samsung => { "4" => "n", "13.0" => "y #2", "15.0" => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS3 image-orientation",
                                                       ucprefix     => 0,
                                                     },
                "css-image-set"                   => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5432024223449088,
                                                       description  => "Method of letting the browser pick the most appropriate CSS image from a given set.",
                                                       links        => [
                                                                         {
                                                                           title => "Web Platform Tests",
                                                                           url => "https://wpt.fyi/results/css/css-images/image-set/image-set-parsing.html",
                                                                         },
                                                                         {
                                                                           title => "Firefox implementation bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=image-set",
                                                                         },
                                                                         {
                                                                           title => "Chromium bug to update and unprefix image-set()",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=630597",
                                                                         },
                                                                         {
                                                                           title => "WebKit bug to support type()",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=225185",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Has very limited support. Only `url()` is accepted as the image and only `x` is accepted as a resolution.",
                                                                         2 => "Does not support generated images in `content`. Example: `content: image-set(linear-gradient())`. [Bug 1696314](https://bugzilla.mozilla.org/show_bug.cgi?id=1696314).",
                                                                         3 => "Does not support the `type()` function.",
                                                                         4 => "Does not support omitting the resolution.",
                                                                         5 => "Does not support using `calc()` for the resolution.",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-images-4/#image-set-notation",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "a x #1", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "a x #1" },
                                                                         and_uc  => { "15.5" => "a x #1" },
                                                                         baidu   => { "13.52" => "a x #1" },
                                                                         bb      => { 7 => "n", 10 => "a x #1" },
                                                                         chrome  => { 4 => "n", 21 => "a x #1", 113 => "y #5", 114 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "a x #1", "113" => "y #5", "114" => "y" },
                                                                         firefox => { 2 => "n", 86 => "n d", 88 => "a #2 #3 #5", 89 => "y #2 #5", 113 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => {
                                                                                      "10.0-10.2" => "a #1",
                                                                                      "14.0-14.4" => "a #3 #4",
                                                                                      "17.0" => "y",
                                                                                      "3.2" => "n",
                                                                                      "6.0-6.1" => "a x #1",
                                                                                    },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "a x #1", 99 => "y #5", 100 => "y" },
                                                                         safari  => { "3.1" => "n", "6" => "a x #1", "10" => "a #1", "14" => "a #3 #4", "17.0" => "y" },
                                                                         samsung => { 4 => "a x #1", 23 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS image-set",
                                                       ucprefix     => 0,
                                                     },
                "css-in-out-of-range"             => {
                                                       categories   => ["CSS"],
                                                       description  => "If a temporal or number `<input>` has `max` and/or `min` attributes, then `:in-range` matches when the value is within the specified range and `:out-of-range` matches when the value is outside the specified range. If there are no range constraints, then neither pseudo-class matches.",
                                                       keywords     => "in,out,of,range,:in-range,:out-of-range",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS :out-of-range",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/:out-of-range",
                                                                         },
                                                                         {
                                                                           title => "WHATWG HTML specification for `:in-range` and `:out-of-range`",
                                                                           url => "https://html.spec.whatwg.org/multipage/scripting.html#selector-in-range",
                                                                         },
                                                                       ],
                                                       notes        => "Note that `<input type=\"range\">` can never match `:out-of-range` because the user cannot input such a value, and if the initial value is outside the range, the browser immediately clamps it to the minimum or maximum (as appropriate) bound of the range.",
                                                       notes_by_num => {
                                                                         1 => "Opera Mini correctly applies style on initial load, but does not correctly update when value is changed.",
                                                                         2 => "`:in-range` also incorrectly matches temporal and `number` inputs which don't have `min` or `max` attributes. See [Edge bug](https://web.archive.org/web/20171213080515/https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7200501/), [Chrome bug](https://bugs.chromium.org/p/chromium/issues/detail?id=603268), [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=156558).",
                                                                         3 => "`:in-range` and `:out-of-range` incorrectly match inputs which are disabled or readonly. See [Edge bug](https://web.archive.org/web/20171213073431/https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7190958/), [Mozilla bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1264157), [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=156530), [Chrome bug](https://bugs.chromium.org/p/chromium/issues/detail?id=602568).",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/selectors4/#range-pseudos",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4" => "a #2", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "a #2" },
                                                                         chrome  => { 4 => "n", 5 => "u", 15 => "a #2 #3", 52 => "a #2", 53 => "y" },
                                                                         edge    => { "5.5" => "n", "13" => "a #2", "79" => "y" },
                                                                         firefox => { 2 => "n", 29 => "a #3", 50 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.3" => "y", "3.2" => "n", "5.0-5.1" => "a #2 #3" },
                                                                         kaios   => { "2.5" => "a #3", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "a #1" },
                                                                         op_mob  => { 10 => "a #2", 80 => "y" },
                                                                         opera   => {
                                                                                      "10.0-10.1" => "a #2",
                                                                                      "15" => "a #2 #3",
                                                                                      "39" => "a #2",
                                                                                      "40" => "y",
                                                                                      "9" => "u",
                                                                                    },
                                                                         safari  => { "3.1" => "n", "5" => "u", "5.1" => "a #2 #3", "10.1" => "y" },
                                                                         samsung => { "4" => "a #2", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => ":in-range and :out-of-range CSS pseudo-classes",
                                                       ucprefix     => 0,
                                                     },
                "css-indeterminate-pseudo"        => {
                                                       categories   => ["CSS"],
                                                       description  => "The `:indeterminate` pseudo-class matches indeterminate checkboxes, indeterminate `<progress>` bars, and radio buttons with no checked button in their radio button group.",
                                                       keywords     => ":indeterminate,indeterminate",
                                                       links        => [
                                                                         {
                                                                           title => "HTML specification for `:indeterminate`",
                                                                           url => "https://html.spec.whatwg.org/multipage/scripting.html#selector-indeterminate",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - CSS :indeterminate",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/:indeterminate",
                                                                         },
                                                                         {
                                                                           title => "EdgeHTML issue 7124038 - `:indeterminate` pseudo-class doesn't match radio buttons",
                                                                           url => "https://web.archive.org/web/20190624214229/https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7124038/",
                                                                         },
                                                                         {
                                                                           title => "Mozilla Bug 885359 - Radio groups without a selected radio button should have `:indeterminate` applying",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=885359",
                                                                         },
                                                                         {
                                                                           title => "WebKit Bug 156270 - `:indeterminate` pseudo-class should match radios whose group has no checked radio",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=156270",
                                                                         },
                                                                         {
                                                                           title => "JS Bin testcase",
                                                                           url => "https://jsbin.com/zumoqu/edit?html,css,js,output",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Doesn't match radio buttons whose radio button group lacks a checked radio button",
                                                                         2 => "Doesn't support the `<progress>` element",
                                                                         3 => "Doesn't match indeterminate `<progress>` bars",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/selectors-4/#indeterminate",
                                                       stats        => {
                                                                         and_chr => {
                                                                                      "135" => "y",
                                                                                      "2.1" => "u",
                                                                                      "4" => "a #1 #2",
                                                                                      "4.4" => "a #1",
                                                                                      "4.4.3-4.4.4" => "u",
                                                                                    },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "u", 10 => "a #1" },
                                                                         chrome  => { 4 => "u", 15 => "a #1", 39 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "a #1 #2", "10" => "a #1", "79" => "y" },
                                                                         firefox => { 2 => "u", 4 => "a #1 #2", 6 => "a #1", 51 => "y" },
                                                                         ie_mob  => { 10 => "a #1" },
                                                                         ios_saf => { "10.3" => "y", "3.2" => "u", "7.0-7.1" => "a #1" },
                                                                         kaios   => { "2.5" => "a #1", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "a #3" },
                                                                         op_mob  => { "10" => "u", "12.1" => "a #3", "80" => "y" },
                                                                         opera   => { "9" => "u", "11.6" => "a #3", "15" => "a #1", "26" => "y" },
                                                                         safari  => { "3.1" => "u", "5.1" => "a #1 #2", "6" => "u", "6.1" => "a #1", "10.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => ":indeterminate CSS pseudo-class",
                                                       ucprefix     => 0,
                                                     },
                "css-initial-letter"              => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5167442033115136,
                                                       description  => "Method of creating an enlarged cap, including a drop or raised cap, in a robust way.",
                                                       keywords     => "initial-letter,initial letter,letter,drop cap,dropcap,initial letters,letters",
                                                       links        => [
                                                                         {
                                                                           title => "Firefox Implementation Ticket",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1273019",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - CSS initial-letter",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/initial-letter",
                                                                         },
                                                                         {
                                                                           title => "Blog post on Envato Tuts+, \"Better CSS Drop Caps With initial-letter\"",
                                                                           url => "https://webdesign.tutsplus.com/tutorials/better-css-drop-caps-with-initial-letter--cms-26350",
                                                                         },
                                                                         {
                                                                           title => "Demos at Jen Simmons Labs",
                                                                           url => "https://labs.jensimmons.com/#initialletter",
                                                                         },
                                                                         {
                                                                           title => "WebKit bug to unprefix -webkit-initial-letter",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=229090",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Safari implementation is incomplete. Does not allow applying web fonts to the initial letter.",
                                                                         2 => "Partial support refers to only supporting the `initial-letter` property (not `initial-letter-align` or `initial-letter-wrap`)",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-inline/#initial-letter-styling",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "a #2" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 110 => "a #2" },
                                                                         edge    => { "5.5" => "n", "110" => "a #2" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "9.0-9.2" => "a x #1 #2" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "a #2" },
                                                                         opera   => { 9 => "n", 98 => "a #2" },
                                                                         safari  => { "3.1" => "n", "9" => "a #2", "9.1" => "a x #1 #2" },
                                                                         samsung => { 4 => "n", 21 => "a #2" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS Initial Letter",
                                                       ucprefix     => 0,
                                                     },
                "css-initial-value"               => {
                                                       categories   => ["CSS"],
                                                       description  => "A CSS value that will apply a property's initial value as defined in the CSS specification that defines the property",
                                                       keywords     => "CSS,initial,value",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS initial",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/initial",
                                                                         },
                                                                         {
                                                                           title => "CSS Tricks article",
                                                                           url => "https://css-tricks.com/getting-acquainted-with-initial/",
                                                                         },
                                                                       ],
                                                       notes_by_num => { 1 => "Not supported on `quotes` property" },
                                                       spec         => "https://www.w3.org/TR/css-values/#common-keywords",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "y" },
                                                                         firefox => { "2" => "a x #1", "3.5" => "y x", "19" => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "u", "4.0-4.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "u", "3.2" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS initial value",
                                                       ucprefix     => 0,
                                                     },
                "css-lch-lab"                     => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 4592567062626304,
                                                       description  => "The `lch()` and `lab()` color functions are based on the CIE LAB color space, representing colors in a way that closely matches human perception and provides access to a wider spectrum of colors than offered by the usual RGB color space.",
                                                       keywords     => "lch,lab,lch(),lab(),cielab,L*a*b*",
                                                       links        => [
                                                                         {
                                                                           title => "Chrome support bug",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=1026287",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1352757",
                                                                         },
                                                                         {
                                                                           title => "LCH colors in CSS: what, why, and how?",
                                                                           url => "https://lea.verou.me/2020/04/lch-colors-in-css-what-why-and-how/",
                                                                         },
                                                                         { title => "LCH color picker", url => "https://css.land/lch/" },
                                                                         {
                                                                           title => "MDN article on lch()",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/lch()",
                                                                         },
                                                                         {
                                                                           title => "MDN article on lab()",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/lab()",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled by setting about:config flag `layout.css.more_color_4.enabled` to true",
                                                                         2 => "Can be enabled via the `#enable-experimental-web-platform-features` flag in `chrome://flags`",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-color-4/#specifying-lab-lch",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 110 => "n d #2", 111 => "y" },
                                                                         edge    => { "5.5" => "n", "110" => "n d #2", "111" => "y" },
                                                                         firefox => { 2 => "n", 111 => "n d #1", 113 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "15.0-15.1" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 98 => "y" },
                                                                         safari  => { "3.1" => "n", "15" => "y" },
                                                                         samsung => { 4 => "n", 22 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "LCH and Lab color values",
                                                       ucprefix     => 0,
                                                     },
                "css-letter-spacing"              => {
                                                       categories   => ["CSS"],
                                                       description  => "Controls spacing between characters of text (i.e. \"tracking\" in typographical terms). Not to be confused with kerning.",
                                                       keywords     => "CSS,letter,spacing,tracking",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS letter-spacing",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/letter-spacing",
                                                                         },
                                                                       ],
                                                       notes_by_num => { 1 => "Truncates or rounds fractional portions of values" },
                                                       spec         => "https://www.w3.org/TR/CSS2/text.html#propdef-letter-spacing",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "a #1", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a #1" },
                                                                         chrome  => { 4 => "a #1", 30 => "y" },
                                                                         edge    => { "5.5" => "u", "6" => "a #1", "9" => "y" },
                                                                         firefox => { 2 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "u", "4.0-4.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "a #1", 80 => "y" },
                                                                         opera   => { "10.0-10.1" => "a #1", "17" => "y", "9" => "u" },
                                                                         safari  => { "3.1" => "u", "3.2" => "a #1", "6.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "letter-spacing CSS property",
                                                       ucprefix     => 0,
                                                     },
                "css-line-clamp"                  => {
                                                       categories   => ["CSS"],
                                                       description  => "CSS property that will contain text to a given amount of lines when used in combination with `display: -webkit-box`. It will end with ellipsis when `text-overflow: ellipsis` is included.",
                                                       links        => [
                                                                         {
                                                                           title => "CSS Tricks article",
                                                                           url => "https://css-tricks.com/line-clampin/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - line-clamp",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/line-clamp",
                                                                         },
                                                                       ],
                                                       notes        => "Older (presto-based) versions of the Opera browser have also supported the same effect using the proprietary `-o-ellipsis-lastline;` value for `text-overflow`.",
                                                       notes_by_num => {
                                                                         1 => "Supported in MS Edge with `-webkit-` prefix only (not with `-ms-`)",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-overflow-3/#propdef--webkit-line-clamp",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "y x" },
                                                                         and_ff  => { 137 => "y x" },
                                                                         and_qq  => { "14.9" => "y x" },
                                                                         and_uc  => { "15.5" => "y x" },
                                                                         baidu   => { "13.52" => "y x" },
                                                                         bb      => { 7 => "y x" },
                                                                         chrome  => { 4 => "u", 14 => "y x" },
                                                                         edge    => { "5.5" => "n", "17" => "y #1", "79" => "y x" },
                                                                         firefox => { 2 => "n", 68 => "y x" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "5.0-5.1" => "y x" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y x" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y x" },
                                                                         opera   => { 9 => "n", 15 => "y x" },
                                                                         safari  => { "3.1" => "n", "5" => "y x" },
                                                                         samsung => { 4 => "y x" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS line-clamp",
                                                       ucprefix     => 0,
                                                     },
                "css-logical-props"               => {
                                                       categories   => ["CSS", "CSS3"],
                                                       description  => "Logical properties and values provide control of layout through logical, rather than physical, direction and dimension mappings. These properties are `writing-mode` relative equivalents of their corresponding physical properties.",
                                                       keywords     => "block-size,border-block,border-block-color,border-block-end,border-block-end-color,border-block-end-style,border-block-end-width,border-block-start,border-block-start-color,border-block-start-style,border-block-start-width,border-block-style,border-block-width,border-end-end-radius,border-end-start-radius,border-inline,border-inline-color,border-inline-end,border-inline-end-color,border-inline-end-style,border-inline-end-width,border-inline-start,border-inline-start-color,border-inline-start-style,border-inline-start-width,border-inline-style,border-inline-width,border-start-end-radius,border-start-start-radius,inline-size,inset,inset-block,inset-block-end,inset-block-start,inset-inline,inset-inline-end,inset-inline-start,margin-block,margin-block-end,margin-block-start,margin-inline,margin-inline-end,margin-inline-start,max-block-size,max-inline-size,min-block-size,min-inline-size,padding-block,padding-block-end,padding-block-start,padding-inline,padding-inline-end,padding-inline-start,recto,verso",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS -moz-margin-start",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/-moz-margin-start",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - CSS -moz-padding-start",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/-moz-padding-start",
                                                                         },
                                                                         {
                                                                           title => "MDN - Basic concepts of Logical Properties and Values",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties/Basic_concepts",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Only supports the `*-start`, and `*-end` values for `margin`, `border` and `padding`, not the `inline`/`block` type values as defined in the spec.",
                                                                         2 => "Like #1 but also supports `*-before` and `*-end` for `*-block-start` and `*-block-end` properties as well as `start` and `end` values for `text-align`.",
                                                                         3 => "Does not support the `margin-block`, `margin-inline`, `padding-block`, `padding-inline`, or any of the `inset` shorthand properties. Supported in newer Chromium browsers behind the `#enable-experimental-web-platform-features` flag.",
                                                                         4 => "Does not support the `border-start-start-radius`, `border-start-end-radius`, `border-end-start-radius` and `border-end-end-radius` property.",
                                                                         5 => "Does not support the `margin-block`, `margin-inline`, `padding-block`, `padding-inline` shorthand properties when value is a CSS property. Supported when using a length value.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-logical-1/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a x #2", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "a #3 #4" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a x #2" },
                                                                         chrome  => { 4 => "a x #2", 69 => "a #3 #4", 87 => "a #4", 89 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "a #3 #4", "87" => "a #4", "89" => "y" },
                                                                         firefox => { 2 => "n", 3 => "a x #1", 41 => "a #3 #4", 66 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => {
                                                                                      "12.2-12.5" => "a #3 #4",
                                                                                      "14.5-14.8" => "a #4 #5",
                                                                                      "15.0-15.1" => "y",
                                                                                      "3.2" => "a x #2",
                                                                                    },
                                                                         kaios   => { "2.5" => "a #3 #4", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "a x #2", 56 => "a #3 #4", 74 => "a #4", 76 => "y" },
                                                                         safari  => { "3.1" => "a x #2", "12.1" => "a #3 #4", "14.1" => "a #4 #5", "15" => "y" },
                                                                         samsung => { "4" => "a x #2", "10.1" => "a #3 #4", "15.0" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS Logical Properties",
                                                       ucprefix     => 0,
                                                     },
                "css-marker-pseudo"               => {
                                                       categories => ["CSS3"],
                                                       description => "The `::marker` pseudo-element allows list item markers to be styled or have their content value customized.",
                                                       links => [
                                                         {
                                                           title => "Chrome support bug",
                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=457718",
                                                         },
                                                         {
                                                           title => "Firefox support bug",
                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=205202",
                                                         },
                                                         {
                                                           title => "WebKit support bug",
                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=141477",
                                                         },
                                                         {
                                                           title => "MDN Web Docs - CSS ::marker",
                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/::marker",
                                                         },
                                                         {
                                                           title => "CSS-Tricks article",
                                                           url => "https://css-tricks.com/almanac/selectors/m/marker/",
                                                         },
                                                       ],
                                                       notes_by_num => {
                                                         1 => "Safari support is limited to color and font-size. See bug [204163](https://bugs.webkit.org/show_bug.cgi?id=204163).",
                                                       },
                                                       spec => "https://w3c.github.io/csswg-drafts/css-pseudo-4/#marker-pseudo",
                                                       stats => {
                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "n" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "n" },
                                                         chrome  => { 4 => "n", 86 => "y" },
                                                         edge    => { "5.5" => "n", "86" => "y" },
                                                         firefox => { 2 => "n", 68 => "y" },
                                                         ie_mob  => { 10 => "n" },
                                                         ios_saf => { "11.3-11.4" => "a #1", "3.2" => "n" },
                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                         opera   => { 9 => "n", 72 => "y" },
                                                         safari  => { "11.1" => "a #1", "3.1" => "n", "TP" => "y" },
                                                         samsung => { "4" => "n", "14.0" => "y" },
                                                       },
                                                       status => "wd",
                                                       title => "CSS ::marker pseudo-element",
                                                       ucprefix => 0,
                                                     },
                "css-masks"                       => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5381559662149632,
                                                       description  => "Method of displaying part of an element, using a selected image as a mask",
                                                       keywords     => "clip,clip-path,clip-rule,mask,mask-border,mask-clip,mask-image,mask-mode,mask-type,css masking",
                                                       links        => [
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/properties/mask",
                                                                         },
                                                                         {
                                                                           title => "HTML5 Rocks article",
                                                                           url => "https://www.html5rocks.com/en/tutorials/masking/adobe/",
                                                                         },
                                                                         {
                                                                           title => "Firefox implementation bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1224422",
                                                                         },
                                                                         {
                                                                           title => "Visual test cases",
                                                                           url => "https://lab.iamvdo.me/css-svg-masks",
                                                                         },
                                                                         {
                                                                           title => "Detailed blog post (via The Internet Archive)",
                                                                           url => "https://web.archive.org/web/20160505054016/http://thenittygritty.co/css-masking",
                                                                         },
                                                                         {
                                                                           title => "MDN - mask",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/mask",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support in WebKit/Blink browsers refers to supporting the mask-image and mask-box-image properties, but lacking support for other parts of the spec.",
                                                                         2 => "Partial support in Firefox refers to only support for inline SVG mask elements i.e. mask: url(#foo).",
                                                                         3 => "Partial support refers to supporting the mask-box-image shorthand but not the longhand properties",
                                                                         4 => "Can be enabled in MS edge behind the \"Enable CSS Masking\" flag.",
                                                                         5 => "Partial support refers to supporting mask-image and mask-size",
                                                                         6 => "Partial support refers to supporting mask-image, mask-size, mask-position, mask-repeat and mask-composite",
                                                                         7 => "Edge also recognizes and supports all the `-webkit-` prefixed equivalents of the unprefixed properties for site compatibility",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-masking-1/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a x #1 #3", "4.4" => "a x #1", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "a x #1" },
                                                                         and_uc  => { "15.5" => "a x #1" },
                                                                         baidu   => { "13.52" => "a x #1" },
                                                                         bb      => { 7 => "a x #1" },
                                                                         chrome  => { 4 => "a x #1", 120 => "y" },
                                                                         edge    => {
                                                                                      "5.5" => "n",
                                                                                      "17"  => "n d #4 #5",
                                                                                      "18"  => "a #6 #7",
                                                                                      "79"  => "a x #1",
                                                                                      "120" => "y",
                                                                                    },
                                                                         firefox => { "2" => "n", "3.5" => "a #2", "53" => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "a x #1", "15.4" => "y" },
                                                                         kaios   => { "2.5" => "a #2", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "a x #1", 106 => "y" },
                                                                         safari  => { "3.1" => "n", "4" => "a x #1", "15.4" => "y" },
                                                                         samsung => { 4 => "a x #1", 25 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS Masks",
                                                       ucprefix     => 0,
                                                     },
                "css-matches-pseudo"              => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5445716612743168,
                                                       description  => "The `:is()` (formerly `:matches()`, formerly `:any()`) pseudo-class checks whether the element at its position in the outer selector matches any of the selectors in its selector list. It's useful syntactic sugar that allows you to avoid writing out all the combinations manually as separate selectors. The effect is similar to nesting in Sass and most other CSS preprocessors.",
                                                       keywords     => ":is,is,:matches,matches,:any,any,:-moz-any,-moz-any,:-webkit-any,-webkit-any",
                                                       links        => [
                                                                         {
                                                                           title => "WebKit blog post about adding `:matches()` and other Selectors Level 4 features",
                                                                           url => "https://webkit.org/blog/3615/css-selectors-inside-selectors-discover-matches-not-and-nth-child/",
                                                                         },
                                                                         {
                                                                           title => "Chrome support bug for :is()",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=568705",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - CSS :is()",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/:is",
                                                                         },
                                                                         {
                                                                           title => "Codepen - Modern tests",
                                                                           url => "https://codepen.io/atjn/full/MWKErBe",
                                                                         },
                                                                         {
                                                                           title => "JS Bin - Legacy tests",
                                                                           url => "https://output.jsbin.com/lehina",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Only supports the deprecated `:-webkit-any()` pseudo-class",
                                                                         2 => "Only supports the deprecated `:-webkit-any()` and `:matches()` pseudo-classes",
                                                                         3 => "Only supports the deprecated `:-moz-any()` pseudo-class.",
                                                                         4 => "Support for `:is()` can be enabled with the `Experimental Web Platform features` flag",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/selectors4/#matches",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "4" => "a x #1", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "a d #1 #4" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "u", 10 => "a x #1" },
                                                                         chrome  => { 4 => "u", 15 => "a x #1", 65 => "a d #1", 68 => "a d #1 #4", 88 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "a d #1 #4", "88" => "y" },
                                                                         firefox => { 2 => "n", 4 => "a x #3", 78 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => {
                                                                                      "14.0-14.4" => "y",
                                                                                      "3.2"       => "u",
                                                                                      "7.0-7.1"   => "a x #1",
                                                                                      "9.0-9.2"   => "a #2",
                                                                                    },
                                                                         kaios   => { "2.5" => "a x #3", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "a x #1", 52 => "a d #1", 55 => "a d #1 #4", 75 => "y" },
                                                                         safari  => { "3.1" => "n", "5" => "u", "5.1" => "a x #1", "9" => "a #2", "14" => "y" },
                                                                         samsung => { "4" => "a x #1", "15.0" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => ":is() CSS pseudo-class",
                                                       ucprefix     => 0,
                                                     },
                "css-math-functions"              => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5714277878988800,
                                                       description  => "More advanced mathematical expressions in addition to `calc()`",
                                                       keywords     => "min,min(),max,max(),clamp,clamp()",
                                                       links        => [
                                                                         {
                                                                           title => "Test case on JSFiddle",
                                                                           url => "https://jsfiddle.net/as9t4jek/",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=css-min-max",
                                                                         },
                                                                         { title => "Chrome support bug", url => "https://crbug.com/825895" },
                                                                         {
                                                                           title => "MDN Web Docs article for min()",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/min",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs article for max()",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/max",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs article for clamp()",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/clamp",
                                                                         },
                                                                         {
                                                                           title => "Getting Started With CSS Math Functions Level 4",
                                                                           url => "https://webdesign.tutsplus.com/tutorials/mathematical-expressions-calc-min-and-max--cms-29735",
                                                                         },
                                                                         {
                                                                           title => "Introduction to CSS Math Functions",
                                                                           url => "https://stackdiary.com/css-math-functions/",
                                                                         },
                                                                       ],
                                                       notes_by_num => { 1 => "Safari did not support `clamp()`" },
                                                       spec         => "https://www.w3.org/TR/css-values-4/#math-function",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 79 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 75 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.3-11.4" => "a #1", "13.4-13.7" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 66 => "y" },
                                                                         safari  => { "3.1" => "n", "11.1" => "a #1", "13.1" => "y" },
                                                                         samsung => { "4" => "n", "12.0" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS math functions min(), max() and clamp()",
                                                       ucprefix     => 0,
                                                     },
                "css-media-interaction"           => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 6460705494532096,
                                                       description  => "Allows a media query to be set based on the presence and accuracy of the user's pointing device, and whether they have the ability to hover over elements on the page. This includes the `pointer`, `any-pointer`, `hover`, and `any-hover` media features.",
                                                       keywords     => "\@media,interaction,hover,any-hover,css pointer,any-pointer,pointer:coarse,pointer:fine",
                                                       links        => [
                                                                         {
                                                                           title => "Potential use cases for script, hover and pointer CSS Level 4 Media Features",
                                                                           url => "https://jordanm.co.uk/2013/11/11/potential-use-cases-for-script-hover-and-pointer.html",
                                                                         },
                                                                         {
                                                                           title => "Interaction Media Features and their potential (for incorrect assumptions)",
                                                                           url => "https://dev.opera.com/articles/media-features/",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for the `hover` media feature",
                                                                           url => "https://github.com/twbs/mq4-hover-shim",
                                                                         },
                                                                         {
                                                                           title => "Chrome support bug",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=398943",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       parent       => "css-mediaqueries",
                                                       spec         => "https://www.w3.org/TR/mediaqueries-4/#mf-interaction",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 41 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "y" },
                                                                         firefox => { 2 => "n", 64 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 28 => "y" },
                                                                         safari  => { "3.1" => "n", "9" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Media Queries: interaction media features",
                                                       ucprefix     => 0,
                                                     },
                "css-media-range-syntax"          => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5203042742829056,
                                                       description  => "Syntax improvements to make media queries using features that have a \"range\" type (like width or height) less verbose. Can be used with ordinary mathematical comparison operators: `>`, `<`, `>=`, or `<=`.\r\n\r\nFor example: `\@media (100px <= width <= 1900px)` is the equivalent of `\@media (min-width: 100px) and (max-width: 1900px)`",
                                                       keywords     => "\@media,media queries,range,range syntax,range context,query,css media query range syntax",
                                                       links        => [
                                                                         {
                                                                           title => "Syntax improvements in Level 4",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1422225#c55",
                                                                         },
                                                                         {
                                                                           title => "PostCSS Polyfill",
                                                                           url => "https://github.com/postcss/postcss-media-minmax",
                                                                         },
                                                                         {
                                                                           title => "WebKit bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=180234",
                                                                         },
                                                                         {
                                                                           title => "Media Queries Level 4: Media Query Range Contexts (Media Query Ranges)",
                                                                           url => "https://www.bram.us/2021/10/26/media-queries-level-4-media-query-range-contexts/",
                                                                         },
                                                                         {
                                                                           title => "New syntax for range media queries in Chrome 104",
                                                                           url => "https://developer.chrome.com/blog/media-query-range-syntax/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       parent       => "css-mediaqueries",
                                                       spec         => "https://www.w3.org/TR/mediaqueries-4/#mq-range-context",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 104 => "y" },
                                                                         edge    => { "5.5" => "n", "104" => "y" },
                                                                         firefox => { 2 => "n", 63 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "16.4" => "y" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 91 => "y" },
                                                                         safari  => { "3.1" => "n", "16.4" => "y" },
                                                                         samsung => { 4 => "n", 20 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Media Queries: Range Syntax",
                                                       ucprefix     => 0,
                                                     },
                "css-media-resolution"            => {
                                                       categories   => ["CSS", "CSS3"],
                                                       chrome_id    => 5944509615570944,
                                                       description  => "Allows a media query to be set based on the device pixels used per CSS unit. While the standard uses `min`/`max-resolution` for this, some browsers support the older non-standard `device-pixel-ratio` media query.",
                                                       keywords     => "\@media,device-pixel-ratio,resolution,dppx,dpcm,dpi",
                                                       links        => [
                                                                         {
                                                                           title => "How to unprefix -webkit-device-pixel-ratio",
                                                                           url => "https://www.w3.org/blog/CSS/2012/06/14/unprefix-webkit-device-pixel-ratio/",
                                                                         },
                                                                         {
                                                                           title => "WebKit Bug 78087: Implement the 'resolution' media query",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=78087",
                                                                         },
                                                                         {
                                                                           title => "WHATWG Compatibility Standard: -webkit-device-pixel-ratio",
                                                                           url => "https://compat.spec.whatwg.org/#css-media-queries-webkit-device-pixel-ratio",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - CSS \@media resolution",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/\@media/resolution",
                                                                         },
                                                                         {
                                                                           title => "CSS Values and Units Module Level 4 add the `x` unit as an alias for `dppx`.",
                                                                           url => "https://drafts.csswg.org/css-values/#dppx",
                                                                         },
                                                                         {
                                                                           title => "Chrome support 'x' as a resolution unit.",
                                                                           url => "https://chromestatus.com/feature/5150549246738432",
                                                                         },
                                                                         {
                                                                           title => "Firefox support 'x' as a resolution unit.",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1460655",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Supports the `dpi` unit, but does not support `dppx` or `dpcm` units.",
                                                                         2 => "Firefox before 16 supports only `dpi` unit, but you can set `2dppx` per `min--moz-device-pixel-ratio: 2`.",
                                                                         3 => "Supports the non-standard `min`/`max-device-pixel-ratio`.",
                                                                         4 => "Does not support `x` unit (alias for `dppx` unit), e.g: `\@media (min-resolution: 2x) { }`.",
                                                                       },
                                                       parent       => "css-mediaqueries",
                                                       spec         => "https://www.w3.org/TR/mediaqueries-4/#resolution",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "a x #3", "4.4" => "a #4", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a x #3" },
                                                                         chrome  => { 4 => "a x #3", 29 => "a #4", 68 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "a #1", "12" => "a #4", "79" => "y" },
                                                                         firefox => { "2" => "n", "3.5" => "a #2", "16" => "a #4", "62" => "y" },
                                                                         ie_mob  => { 10 => "a #1" },
                                                                         ios_saf => { "16.0" => "y", "3.2" => "u", "4.0-4.1" => "a x #3" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "a #1" },
                                                                         op_mob  => { "10" => "a x #3", "12.1" => "y" },
                                                                         opera   => { "12.1" => "y", "15" => "a #4", "55" => "y", "9" => "n", "9.5-9.6" => "a x #3" },
                                                                         safari  => { "3.1" => "n", "4" => "a x #3", "16.0" => "y" },
                                                                         samsung => { "4" => "a #4", "10.1" => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Media Queries: resolution feature",
                                                       ucprefix     => 0,
                                                     },
                "css-mediaqueries"                => {
                                                       categories   => ["CSS3"],
                                                       description  => "Method of applying styles based on media information. Includes things like page and device dimensions",
                                                       keywords     => "\@media",
                                                       links        => [
                                                                         {
                                                                           title => "IE demo page with information",
                                                                           url => "https://testdrive-archive.azurewebsites.net/HTML5/85CSS3_MediaQueries/",
                                                                         },
                                                                         {
                                                                           title => "Media Queries tutorial",
                                                                           url => "https://webdesignerwall.com/tutorials/responsive-design-with-css3-media-queries",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for IE",
                                                                           url => "https://github.com/scottjehl/Respond",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/atrules/media",
                                                                         },
                                                                         {
                                                                           title => "Practical Guide to Media Queries",
                                                                           url => "https://stackdiary.com/css-media-queries/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Does not support nested media queries",
                                                                         2 => "Partial support refers to only acknowledging different media rules on page reload",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-mediaqueries/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y #1", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y #1", 26 => "y" },
                                                                         edge    => { "5.5" => "p", "9" => "y #1", "12" => "y" },
                                                                         firefox => { "2" => "n", "3.5" => "y" },
                                                                         ie_mob  => { 10 => "y #1" },
                                                                         ios_saf => { "3.2" => "y #1", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { "9" => "n", "9.5-9.6" => "y" },
                                                                         safari  => { "3.1" => "a #1 #2", "4" => "y #1", "6.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "CSS3 Media Queries",
                                                       ucprefix     => 0,
                                                     },
                "css-mixblendmode"                => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 6362616360337408,
                                                       description  => "Allows blending between arbitrary SVG and HTML elements",
                                                       keywords     => "mix-blend-mode,css blend modes,css blending modes",
                                                       links        => [
                                                                         {
                                                                           title => "codepen example",
                                                                           url => "https://codepen.io/bennettfeely/pen/csjzd",
                                                                         },
                                                                         {
                                                                           title => "Blog post",
                                                                           url => "https://css-tricks.com/basics-css-blend-modes/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Enabled in Chrome through the \"experimental Web Platform features\" flag in chrome://flags",
                                                                         2 => "Partial in Safari refers to not supporting the `hue`, `saturation`, `color`, and `luminosity` blend modes.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/compositing-1/#mix-blend-mode",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 29 => "n d #1", 41 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 32 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "8" => "a #2" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 29 => "y" },
                                                                         safari  => { "3.1" => "n", "7.1" => "a #2" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Blending of HTML/SVG elements",
                                                       ucprefix     => 0,
                                                     },
                "css-motion-paths"                => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 6190642178818048,
                                                       description  => "Allows elements to be animated along SVG paths or shapes via the `offset-path` property. Originally defined as the `motion-path` property.",
                                                       keywords     => "offset-position,offset-distance,offset-rotate",
                                                       links        => [
                                                                         {
                                                                           title => "Blog post",
                                                                           url => "https://codepen.io/danwilson/post/css-motion-paths",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - CSS motion-path",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/motion-path",
                                                                         },
                                                                         {
                                                                           title => "Demo",
                                                                           url => "https://googlechrome.github.io/samples/css-motion-path/index.html",
                                                                         },
                                                                         {
                                                                           title => "Firefox tracking bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1186329",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Requires the \"Experimental Web Platform features\" flag to be enabled",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/motion-1/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 43 => "n d #1", 46 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 72 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "16.0" => "y" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 30 => "n d #1", 33 => "y" },
                                                                         safari  => { "3.1" => "n", "16.0" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS Motion Path",
                                                       ucprefix     => 0,
                                                     },
                "css-namespaces"                  => {
                                                       categories => ["CSS"],
                                                       description => "Using the `\@namespace` at-rule, elements of other namespaces (e.g. SVG) can be targeted using the pipe (`|`) selector.",
                                                       links => [
                                                         {
                                                           title => "MDN Web Docs - CSS \@namespace",
                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/\@namespace",
                                                         },
                                                       ],
                                                       notes_by_num => {},
                                                       spec => "https://w3c.github.io/csswg-drafts/css-namespaces/",
                                                       stats => {
                                                         and_chr => { "2.1" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "y" },
                                                         chrome  => { 4 => "y" },
                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                         firefox => { 2 => "y" },
                                                         ie_mob  => { 10 => "y" },
                                                         ios_saf => { "3.2" => "u", "4.2-4.3" => "y" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "y" },
                                                         op_mob  => { 10 => "y" },
                                                         opera   => { 9 => "y" },
                                                         safari  => { "3.1" => "u", "4" => "y" },
                                                         samsung => { 4 => "y" },
                                                       },
                                                       status => "rec",
                                                       title => "CSS namespaces",
                                                       ucprefix => 0,
                                                     },
                "css-nesting"                     => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5800613594529792,
                                                       description  => "CSS nesting provides the ability to nest one style rule inside another, with the selector of the child rule relative to the selector of the parent rule. Similar behavior previously required a CSS pre-processor.",
                                                       keywords     => "&,\@nest,nested css",
                                                       links        => [
                                                                         {
                                                                           title => "Chrome support bug",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=1095675",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1648037",
                                                                         },
                                                                         {
                                                                           title => "Safari support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=223497",
                                                                         },
                                                                         {
                                                                           title => "Blog post: CSS Nesting, specificity and you",
                                                                           url => "https://kilianvalkhof.com/2021/css-html/css-nesting-specificity-and-you/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Available behind the [Experimental Web Platform features](chrome://flags/#enable-experimental-web-platform-features) flag",
                                                                         2 => "Available behind the `layout.css.nesting.enabled` flag",
                                                                         3 => "Does not allow nesting of type (element) selectors without starting with a symbol, like the `&` nesting selector. [Chromium issue](https://bugs.chromium.org/p/chromium/issues/detail?id=1427259)",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-nesting/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 109 => "n d #1", 112 => "a #3", 120 => "y" },
                                                                         edge    => { "5.5" => "n", "109" => "n d #1", "112" => "a #3", "120" => "y" },
                                                                         firefox => { 2 => "n", 115 => "n d #2", 117 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "16.5" => "a #3", "17.2" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 95 => "n d #1", 98 => "a #3", 106 => "y" },
                                                                         safari  => { "3.1" => "n", "16.5" => "a #3", "17.2" => "y" },
                                                                         samsung => { 4 => "n", 23 => "a #3", 25 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS Nesting",
                                                       ucprefix     => 0,
                                                     },
                "css-not-sel-list"                => {
                                                       categories   => ["CSS"],
                                                       description  => "Selectors Level 3 only allowed `:not()` pseudo-class to accept a single simple selector, which the element must not match any of. Thus, `:not(a, .b, [c])` or `:not(a.b[c])` did not work. Selectors Level 4 allows `:not()` to accept a list of selectors. Thus, `:not(a):not(.b):not([c])` can instead be written as `:not(a, .b, [c])` and `:not(a.b[c])` works as intended.",
                                                       keywords     => "negation,not,pseudo,selector,selectors,list,multiple,argument,level,4",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS :not",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/:not",
                                                                         },
                                                                         {
                                                                           title => "Chrome feature request issue",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=580628",
                                                                         },
                                                                         {
                                                                           title => "Firefox feature request bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=933562",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/selectors4/#negation",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 88 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "u", "80" => "n", "88" => "y" },
                                                                         firefox => { 2 => "n", 84 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 75 => "y" },
                                                                         safari  => { "3.1" => "n", "9" => "y" },
                                                                         samsung => { "4" => "n", "15.0" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "selector list argument of :not()",
                                                       ucprefix     => 0,
                                                     },
                "css-nth-child-of"                => {
                                                       categories   => ["CSS"],
                                                       description  => "The newest versions of `:nth-child()` and `:nth-last-child()` accept an optional `of S` clause which filters the children to only those which match the selector list `S`. For example, `:nth-child(1 of .foo)` selects the first child among the children that have the `foo` class (ignoring any non-`foo` children which precede that child). Similar to `:nth-of-type`, but for arbitrary selectors instead of only type selectors.",
                                                       keywords     => "nth-child,nth-last-child,nth,child,an,b,of,s,sel,selector,list",
                                                       links        => [
                                                                         {
                                                                           title => "Mozilla Bug 854148 - Support for :nth-child(An+B of sel), :nth-last-child(An+B of sel) pseudo-classes",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=854148",
                                                                         },
                                                                         {
                                                                           title => "Chromium Issue 304163: Implement :nth-child(an+b of S) and :nth-last-child(an+b of S) pseudo-classes",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=304163",
                                                                         },
                                                                         {
                                                                           title => "MS Edge Platform Status: Under Consideration",
                                                                           url => "https://web.archive.org/web/20190401105447if_/https://developer.microsoft.com/en-us/microsoft-edge/platform/status/cssselectorslevel4/",
                                                                         },
                                                                       ],
                                                       notes        => "For support information for just `:nth-child()` see [CSS3 selector support](#feat=css-sel3)",
                                                       notes_by_num => {},
                                                       spec         => "https://w3c.github.io/csswg-drafts/selectors/#the-nth-child-pseudo",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 111 => "y" },
                                                                         edge    => { "5.5" => "n", "111" => "y" },
                                                                         firefox => { 2 => "n", 113 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 98 => "y" },
                                                                         safari  => { "3.1" => "n", "9" => "y" },
                                                                         samsung => { 4 => "n", 22 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "selector list argument of :nth-child and :nth-last-child CSS pseudo-classes",
                                                       ucprefix     => 0,
                                                     },
                "css-opacity"                     => {
                                                       categories   => ["CSS3"],
                                                       description  => "Method of setting the transparency level of an element",
                                                       keywords     => "transparent,transparency,alpha",
                                                       links        => [
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/properties/opacity",
                                                                         },
                                                                         {
                                                                           title => "MDN - opacity",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/opacity",
                                                                         },
                                                                       ],
                                                       notes        => "Transparency for elements in IE8 and older can be achieved using the proprietary \"filter\" property and does not work well with PNG images using alpha transparency.",
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/css3-color/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "a", "9" => "y" },
                                                                         firefox => { 2 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { 9 => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "CSS3 Opacity",
                                                       ucprefix     => 0,
                                                     },
                "css-optional-pseudo"             => {
                                                       categories   => ["CSS"],
                                                       description  => "The `:optional` pseudo-class matches form inputs (`<input>`, `<textarea>`, `<select>`) which are not `:required`.",
                                                       keywords     => ":optional,optional,:required,required",
                                                       links        => [
                                                                         {
                                                                           title => "HTML specification for `:optional`",
                                                                           url => "https://html.spec.whatwg.org/multipage/scripting.html#selector-optional",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - CSS :optional",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/:optional",
                                                                         },
                                                                         {
                                                                           title => "JS Bin testcase",
                                                                           url => "https://jsbin.com/fihudu/edit?html,css,output",
                                                                         },
                                                                       ],
                                                       notes_by_num => { 1 => "Does not match non-required `<select>`s" },
                                                       parent       => "form-validation",
                                                       spec         => "https://www.w3.org/TR/selectors-4/#optional-pseudo",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "u", 15 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "n", 4 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "a #1" },
                                                                         op_mob  => { 10 => "a #1", 80 => "y" },
                                                                         opera   => { "10.0-10.1" => "a #1", "15" => "y", "9" => "u" },
                                                                         safari  => { "3.1" => "n", "5" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => ":optional CSS pseudo-class",
                                                       ucprefix     => 0,
                                                     },
                "css-overflow"                    => {
                                                       categories   => ["CSS"],
                                                       description  => "Originally a single property for controlling overflowing content in both horizontal & vertical directions, the `overflow` property is now a shorthand for `overflow-x` & `overflow-y`. The latest version of the specification also introduces the `clip` value that blocks programmatic scrolling.",
                                                       keywords     => "overflow:hidden,overflow:scroll,overflow:clip",
                                                       links        => [
                                                                         {
                                                                           title => "CSS overflow on MDN",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/overflow",
                                                                         },
                                                                         {
                                                                           title => "WebKit bug on support for two values syntax",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=184691",
                                                                         },
                                                                         {
                                                                           title => "Edge bug on support for two values syntax",
                                                                           url => "https://web.archive.org/web/20190401105108/https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/16993428/",
                                                                         },
                                                                         {
                                                                           title => "WebKit bug on support for clip value",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=198230",
                                                                         },
                                                                       ],
                                                       notes        => "Effectively all browsers support the CSS 2.1 definition for single-value `overflow` as well as `overflow-x` & `overflow-y` and values `visible`, `hidden`, `scroll` & `auto`",
                                                       notes_by_num => {
                                                                         1 => "Does not support the two value `overflow` shorthand",
                                                                         2 => "Does not support the `clip` value",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-overflow-3/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a #1 #2", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "a #1 #2" },
                                                                         and_uc  => { "15.5" => "a #1 #2" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a #1 #2" },
                                                                         chrome  => { 4 => "a #1 #2", 68 => "a #2", 90 => "y" },
                                                                         edge    => { "5.5" => "a #1 #2", "79" => "a #2", "90" => "y" },
                                                                         firefox => { 2 => "a #1 #2", 61 => "a #2", 81 => "y" },
                                                                         ie_mob  => { 10 => "a #1 #2" },
                                                                         ios_saf => { "13.4-13.7" => "a #2", "16.0" => "y", "3.2" => "a #1 #2" },
                                                                         kaios   => { "2.5" => "a #1 #2", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "a #1 #2" },
                                                                         op_mob  => { 10 => "a #1 #2", 80 => "y" },
                                                                         opera   => { 9 => "a #1 #2", 55 => "a #2", 76 => "y" },
                                                                         safari  => { "3.1" => "a #1 #2", "13.1" => "a #2", "16.0" => "y" },
                                                                         samsung => { "4" => "a #1 #2", "15.0" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS overflow property",
                                                       ucprefix     => 0,
                                                     },
                "css-overflow-anchor"             => {
                                                       categories   => ["CSS3"],
                                                       chrome_id    => 5700102471548928,
                                                       description  => "Changes in DOM elements above the visible region of a scrolling box can result in the page moving while the user is in the middle of consuming the content.\r\nBy default, the value of  `overflow-anchor` is `auto`, it can mitigate this jarring user experience by keeping track of the position of an anchor node and adjusting the scroll offset accordingly",
                                                       keywords     => "overflow-anchor,scroll anchoring",
                                                       links        => [
                                                                         {
                                                                           title => "Explainer",
                                                                           url => "https://github.com/WICG/ScrollAnchoring/blob/master/explainer.md",
                                                                         },
                                                                         {
                                                                           title => "Google developers article",
                                                                           url => "https://developers.google.com/web/updates/2016/04/scroll-anchoring",
                                                                         },
                                                                         {
                                                                           title => "WebKit support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=171099",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-scroll-anchoring/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 56 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 66 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 43 => "y" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS overflow-anchor (Scroll Anchoring)",
                                                       ucprefix     => 0,
                                                     },
                "css-overflow-overlay"            => {
                                                       categories => ["CSS"],
                                                       description => "The `overlay` value of the `overflow` CSS property is a non-standard value to make scrollbars appear on top of content rather than take up space. This value is deprecated and related functionality being standardized as [the `scrollbar-gutter` property](mdn-css_properties_scrollbar-gutter).",
                                                       links => [
                                                         {
                                                           title => "MDN article on overflow values",
                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#values",
                                                         },
                                                         {
                                                           title => "WebKit change to make \"overflow: overlay\" a synonym for \"overflow: auto\"",
                                                           url => "https://trac.webkit.org/changeset/236341/webkit",
                                                         },
                                                       ],
                                                       notes_by_num => {
                                                         1 => "The `overlay` value is recognized, but behaves the same as \"auto\".",
                                                       },
                                                       spec => "https://github.com/w3c/csswg-drafts/issues/92",
                                                       stats => {
                                                         and_chr => { "2.1" => "y", "135" => "n #1" },
                                                         and_ff  => { 137 => "n" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "u" },
                                                         chrome  => { 4 => "u", 15 => "y", 114 => "n #1" },
                                                         edge    => { "5.5" => "n", "79" => "y", "114" => "n #1" },
                                                         firefox => { 2 => "n" },
                                                         ie_mob  => { 10 => "n" },
                                                         ios_saf => { "12.0-12.1" => "n #1", "3.2" => "u", "4.0-4.1" => "y" },
                                                         kaios   => { "2.5" => "n" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                         opera   => { 9 => "n", 15 => "y", 100 => "n #1" },
                                                         safari  => { "3.1" => "u", "4" => "y", "12" => "n #1" },
                                                         samsung => { 4 => "y" },
                                                       },
                                                       status => "unoff",
                                                       title => "CSS overflow: overlay",
                                                       ucprefix => 0,
                                                     },
                "css-overscroll-behavior"         => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5734614437986304,
                                                       description  => "CSS property to control the behavior when the scroll position of a scroll container reaches the edge of the scrollport.",
                                                       keywords     => "scroll-boundary-behavior,overscroll-behavior-x,overscroll-behavior-y,-ms-scroll-chaining",
                                                       links        => [
                                                                         {
                                                                           title => "Demo",
                                                                           url => "https://ebidel.github.io/demos/chatbox.html",
                                                                         },
                                                                         {
                                                                           title => "Firefox implementation bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=951793#c11",
                                                                         },
                                                                         {
                                                                           title => "Google Developers blog post on overscroll-behavior",
                                                                           url => "https://developers.google.com/web/updates/2017/11/overscroll-behavior",
                                                                         },
                                                                         {
                                                                           title => "WebKit support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=176454",
                                                                         },
                                                                         {
                                                                           title => "CSS overscroll-behavior on MDN",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Supports the precursor version of the property: [`-ms-scroll-chaining`](https://msdn.microsoft.com/en-us/library/hh772034%28v=vs.85%29.aspx), which works similarly. IE support is limited to Windows 8 & above",
                                                                         2 => "Does not support `overscroll-behavior: none;` on the body element to prevent the overscroll glow and rubberbanding effects.",
                                                                         3 => "Incorrectly treats `none` as `contain` see [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior#Browser_compatibility) and [Edge 18 changelog](https://aka.ms/devguide_edgehtml_18)",
                                                                         4 => "Can be enabled in the \"Experimental Features\" developer menu",
                                                                       },
                                                       spec         => "https://drafts.csswg.org/css-overscroll/#overscroll-behavior-properties",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 63 => "a #2", 65 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "a #1", "18" => "a #3", "79" => "y" },
                                                                         firefox => { 2 => "n", 59 => "y" },
                                                                         ie_mob  => { 10 => "a #1" },
                                                                         ios_saf => { "14.5-14.8" => "n d #4", "16.0" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 50 => "a #2", 52 => "y" },
                                                                         safari  => { "3.1" => "n", "14.1" => "n d #4", "16.0" => "y" },
                                                                         samsung => { "4" => "n", "8.2" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS overscroll-behavior",
                                                       ucprefix     => 0,
                                                     },
                "css-page-break"                  => {
                                                       categories   => ["CSS"],
                                                       description  => "Properties to control the way elements are broken across (printed) pages.",
                                                       keywords     => "page-break-before,page-break-after,page-break-inside,always,avoid",
                                                       links        => [
                                                                         {
                                                                           title => "CSS Tricks article",
                                                                           url => "https://css-tricks.com/almanac/properties/p/page-break/",
                                                                         },
                                                                         {
                                                                           title => "Latest fragmentation specification (includes column & region breaks)",
                                                                           url => "https://drafts.csswg.org/css-break-3/#break-between",
                                                                         },
                                                                       ],
                                                       notes        => "Not all mobile browsers offer print support; support listed for these is based on browser engine capability.",
                                                       notes_by_num => {
                                                                         1 => "Supports the `page-break-*` alias from the CSS 2.1 specification, but not the `break-*` properties from the latest spec.",
                                                                         2 => "Partial support is due to not supporting `avoid` for `page-break-before` & `page-break-after` (only `page-break-inside`).",
                                                                         3 => "Treats the `left` and `right` values like `always` (as allowed by specification).",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/CSS2/page.html#page-breaks",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a #1 #2 #3", "135" => "y #1 #3" },
                                                                         and_ff  => { 137 => "a #2 #3" },
                                                                         and_qq  => { "14.9" => "a #1 #2 #3" },
                                                                         and_uc  => { "15.5" => "a #1 #2 #3" },
                                                                         baidu   => { "13.52" => "a #1 #2 #3" },
                                                                         bb      => { 7 => "a #1 #2 #3" },
                                                                         chrome  => { 4 => "a #1 #2 #3", 108 => "y #1 #3" },
                                                                         edge    => {
                                                                                      "5.5" => "a #1 #2 #3",
                                                                                      "10"  => "a #1 #2",
                                                                                      "79"  => "a #1 #2 #3",
                                                                                      "108" => "y #1 #3",
                                                                                    },
                                                                         firefox => { 2 => "a #1 #2 #3", 65 => "a #2 #3" },
                                                                         ie_mob  => { 10 => "a #1 #2" },
                                                                         ios_saf => { "3.2" => "a #1 #2 #3" },
                                                                         kaios   => { "2.5" => "a #1 #2 #3", "3.0-3.1" => "a #2 #3" },
                                                                         op_mini => { all => "y #1" },
                                                                         op_mob  => { 10 => "y #1", 80 => "y #1 #3" },
                                                                         opera   => { "10.0-10.1" => "y #1", "15" => "a #1 #2 #3", "9" => "u", "94" => "y #1 #3" },
                                                                         safari  => { "3.1" => "a #1 #2 #3", "10" => "a #2 #3", "10.1" => "a #1 #2 #3" },
                                                                         samsung => { 4 => "a #1 #2 #3", 21 => "y #1 #3" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "CSS page-break properties",
                                                       ucprefix     => 0,
                                                     },
                "css-paged-media"                 => {
                                                       categories   => ["Other"],
                                                       description  => "CSS at-rule (`\@page`) to define page-specific rules when printing web pages, such as margin per page and page dimensions.",
                                                       links        => [
                                                                         {
                                                                           title => "CSS Paged media article",
                                                                           url => "https://www.tutorialspoint.com/css/css_paged_media.htm",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - CSS \@page",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/\@page",
                                                                         },
                                                                         {
                                                                           title => "WebKit support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=85062",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=286443",
                                                                         },
                                                                       ],
                                                       notes        => "Currently no browsers appear to support the `marks` & `bleed` properties from the latest version of the specification.\r\n\r\n",
                                                       notes_by_num => {
                                                                         1 => "Does not support the `size` property",
                                                                         2 => "Does not appear to have a way to print web pages",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-page-3/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "u" },
                                                                         chrome  => { 4 => "u", 15 => "y" },
                                                                         edge    => { "5.5" => "n", "8" => "a #1", "79" => "y" },
                                                                         firefox => { 2 => "n", 19 => "a #1", 95 => "y" },
                                                                         ie_mob  => { 10 => "n #2" },
                                                                         ios_saf => { "3.2" => "n", "18.2" => "y" },
                                                                         kaios   => { "2.5" => "a #1" },
                                                                         op_mini => { all => "u" },
                                                                         op_mob  => { 10 => "u", 80 => "y" },
                                                                         opera   => { 9 => "a #1", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "18.2" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS Paged Media (\@page)",
                                                       ucprefix     => 0,
                                                     },
                "css-paint-api"                   => {
                                                       categories   => ["CSS", "JS API"],
                                                       chrome_id    => 5685444318593024,
                                                       description  => "Allows programmatic generation of images used by CSS",
                                                       keywords     => "houdini",
                                                       links        => [
                                                                         {
                                                                           title => "Google CSS Paint API Introduction",
                                                                           url => "https://developers.google.com/web/updates/2018/01/paintapi",
                                                                         },
                                                                         {
                                                                           title => "Is Houdini Ready Yet?",
                                                                           url => "https://ishoudinireadyyet.com/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled using the Develop > Experimental Features menu.",
                                                                       },
                                                       spec         => "https://drafts.css-houdini.org/css-paint-api/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 65 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 52 => "y" },
                                                                         safari  => { "3.1" => "n", "12.1" => "n d #1" },
                                                                         samsung => { "4" => "n", "9.2" => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS Painting API",
                                                       ucprefix     => 0,
                                                     },
                "css-placeholder"                 => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 6715780926275584,
                                                       description  => "The ::placeholder pseudo-element represents placeholder text in an input field: text that represents the input and provides a hint to the user on how to fill out the form. For example, a date-input field might have the placeholder text `YYYY-MM-DD` to clarify that numeric dates are to be entered in year-month-day order.",
                                                       keywords     => "::placeholder,placeholder",
                                                       links        => [
                                                                         {
                                                                           title => "CSS-Tricks article with all prefixes",
                                                                           url => "https://css-tricks.com/snippets/css/style-placeholder-text/",
                                                                         },
                                                                         {
                                                                           title => "CSSWG discussion",
                                                                           url => "https://wiki.csswg.org/ideas/placeholder-styling",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - CSS ::-moz-placeholder",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/::-moz-placeholder",
                                                                         },
                                                                         {
                                                                           title => "Mozilla Bug 1069012 - unprefix :placeholder-shown pseudo-class and ::placeholder pseudo-element",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1069012",
                                                                         },
                                                                         {
                                                                           title => "MDN web docs - ::placeholder",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/::placeholder",
                                                                         },
                                                                       ],
                                                       notes        => "Partial support refers to using alternate names:\r\n`::-webkit-input-placeholder` for Chrome/Safari/Opera ([Chrome issue #623345](https://bugs.chromium.org/p/chromium/issues/detail?id=623345)) \r\n`::-ms-input-placeholder` for Edge (also supports webkit prefix)",
                                                       notes_by_num => {
                                                                         1 => "Firefox 18 and below supported the `:-moz-placeholder` pseudo-class rather than the `::-moz-placeholder` pseudo-element.",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-pseudo-4/#placeholder-pseudo",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a x", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a x" },
                                                                         chrome  => { 4 => "a x", 57 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "a x", "79" => "y" },
                                                                         firefox => { 2 => "n #1", 19 => "y x", 51 => "y" },
                                                                         ie_mob  => { 10 => "a x" },
                                                                         ios_saf => { "10.3" => "y", "3.2" => "n", "4.2-4.3" => "a x" },
                                                                         kaios   => { "2.5" => "y x", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "a x", 44 => "y" },
                                                                         safari  => { "3.1" => "n", "5" => "a x", "10.1" => "y" },
                                                                         samsung => { "4" => "a x", "7.2-7.4" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "::placeholder CSS pseudo-element",
                                                       ucprefix     => 0,
                                                     },
                "css-placeholder-shown"           => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 6404760559157248,
                                                       description  => "Input elements can sometimes show placeholder text as a hint to the user on what to type in. See, for example, the placeholder attribute in HTML5. The :placeholder-shown pseudo-class matches an input element that is showing such placeholder text.",
                                                       keywords     => ":placeholder-shown,placeholder-shown,placeholder",
                                                       links        => [
                                                                         {
                                                                           title => "WebKit commit",
                                                                           url => "https://trac.webkit.org/changeset/172826",
                                                                         },
                                                                         {
                                                                           title => "Firefox bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1069015",
                                                                         },
                                                                       ],
                                                       notes        => "For support of styling the actual placeholder text itself, see [CSS ::placeholder](https://caniuse.com/#feat=css-placeholder)",
                                                       notes_by_num => {
                                                                         1 => "Partial support in Firefox refers to using the non-standard `:-moz-placeholder` name rather than `:placeholder-shown`.",
                                                                         2 => "Partial support in IE refers to using the non-standard `:-ms-input-placeholder` name rather than `:placeholder-shown`.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/selectors4/#placeholder",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 47 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "a x #2", "12" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 4 => "a x #1", 51 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "a x #1", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 34 => "y" },
                                                                         safari  => { "3.1" => "n", "9" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => ":placeholder-shown CSS pseudo-class",
                                                       ucprefix     => 0,
                                                     },
                "css-read-only-write"             => {
                                                       categories   => ["CSS"],
                                                       description  => ":read-only and :read-write pseudo-classes to match elements which are considered user-alterable",
                                                       keywords     => "css,selector,read-only,read-write",
                                                       links        => [
                                                                         {
                                                                           title => "CSS Tricks article",
                                                                           url => "https://css-tricks.com/almanac/selectors/r/read-write-read/",
                                                                         },
                                                                         {
                                                                           title => "MDN :read-only",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/%3Aread-only",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - CSS :read-write",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/:read-write",
                                                                         },
                                                                         {
                                                                           title => "Selectors Level 4 \xA7 The Mutability Pseudo-classes: :read-only and :read-write",
                                                                           url => "https://drafts.csswg.org/selectors-4/#rw-pseudos",
                                                                         },
                                                                         {
                                                                           title => "Firefox feature request bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=312971",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Supports selector only for input and textarea fields, but not for contenteditable",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/semantics-other.html#selector-read-only",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "a #1", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a #1", 10 => "y" },
                                                                         chrome  => { 4 => "u", 15 => "a #1", 36 => "y" },
                                                                         edge    => { "5.5" => "n", "13" => "y" },
                                                                         firefox => { 2 => "u", 3 => "y x", 78 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "u", "4.2-4.3" => "a #1", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "y x", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "n", "11.5" => "a #1", "80" => "y" },
                                                                         opera   => { "9" => "u", "11.5" => "a #1", "23" => "y" },
                                                                         safari  => { "3.1" => "u", "4" => "a #1", "9" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "CSS :read-only and :read-write selectors",
                                                       ucprefix     => 0,
                                                     },
                "css-rebeccapurple"               => {
                                                       categories   => ["CSS"],
                                                       description  => "The new color added in CSS Color Module Level 4",
                                                       keywords     => "rebeccapurple,beccapurple",
                                                       links        => [
                                                                         {
                                                                           title => "Codepen blog post",
                                                                           url => "https://codepen.io/trezy/post/honoring-a-great-man",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Only works in IE11 for Windows 10, not older versions of Windows",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-color-4/#valdef-color-rebeccapurple",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 38 => "y" },
                                                                         edge    => { "5.5" => "n", "11" => "a #1", "12" => "y" },
                                                                         firefox => { 2 => "n", 33 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "8" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 25 => "y" },
                                                                         safari  => { "3.1" => "n", "6.1" => "u", "7" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Rebeccapurple color",
                                                       ucprefix     => 0,
                                                     },
                "css-reflections"                 => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5627300510957568,
                                                       description  => "Method of displaying a reflection of an element",
                                                       keywords     => "box-reflect",
                                                       links        => [
                                                                         {
                                                                           title => "WebKit blog post",
                                                                           url => "https://webkit.org/blog/182/css-reflections/",
                                                                         },
                                                                         {
                                                                           title => "MDN - -webkit-box-reflect",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-box-reflect",
                                                                         },
                                                                       ],
                                                       notes        => "Similar effect can be achieved in Firefox 4+ using the -moz-element() background property",
                                                       notes_by_num => {},
                                                       spec         => "https://webkit.org/blog/182/css-reflections/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y x" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y x" },
                                                                         and_uc  => { "15.5" => "y x" },
                                                                         baidu   => { "13.52" => "y x" },
                                                                         bb      => { 7 => "y x" },
                                                                         chrome  => { 4 => "y x" },
                                                                         edge    => { "5.5" => "n", "79" => "y x" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "y x" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y x" },
                                                                         opera   => { 9 => "n", 15 => "y x" },
                                                                         safari  => { "3.1" => "n", "4" => "y x" },
                                                                         samsung => { 4 => "y x" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "CSS Reflections",
                                                       ucprefix     => 0,
                                                     },
                "css-regions"                     => {
                                                       categories   => ["CSS3"],
                                                       chrome_id    => 5655612935372800,
                                                       description  => "Method of flowing content into multiple elements, allowing magazine-like layouts. While once supported in WebKit-based browsers and Internet Explorer, implementing the feature is no longer being pursued by any browser.",
                                                       links        => [
                                                                         {
                                                                           title => "Adobe demos and samples",
                                                                           url => "https://web.archive.org/web/20121027050852/http://html.adobe.com:80/webstandards/cssregions/",
                                                                         },
                                                                         {
                                                                           title => "IE10 developer guide info",
                                                                           url => "https://learn.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/dev-guides/hh673537(v=vs.85)",
                                                                         },
                                                                         {
                                                                           title => "Firefox feature request bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=674802",
                                                                         },
                                                                         {
                                                                           title => "Beginner's guide to CSS Regions",
                                                                           url => "https://www.sitepoint.com/a-beginners-guide-css-regions/",
                                                                         },
                                                                         {
                                                                           title => "Discussion on removal in Blink",
                                                                           url => "https://groups.google.com/a/chromium.org/g/blink-dev/c/kTktlHPJn4Q/m/YrnfLxeMO7IJ",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Support is limited to using an iframe as a content source with the `-ms-flow-into: flow_name;` and `-ms-flow-from: flow_name;` syntax.",
                                                                         2 => "Partial support refers to not supporting the `region-fragment` property.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-regions/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 15 => "a x", 19 => "n d", 35 => "n" },
                                                                         edge    => { "5.5" => "n", "10" => "a x #1 #2", "79" => "n" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "a x #1 #2" },
                                                                         ios_saf => { "11.3-11.4" => "n", "3.2" => "n", "7.0-7.1" => "y x" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n" },
                                                                         safari  => { "3.1" => "n", "6.1" => "y x", "11.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS Regions",
                                                       ucprefix     => 0,
                                                     },
                "css-relative-colors"             => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => "5205844613922816,4755025804132352",
                                                       description  => "Relative color syntax in CSS allows a color to be defined relative to another color using the `from` keyword and optionally `calc()` for any of the color values.",
                                                       links        => [
                                                                         {
                                                                           title => "Dynamic Color Manipulation with CSS Relative Colors",
                                                                           url => "https://blog.jim-nielsen.com/2021/css-relative-colors/",
                                                                         },
                                                                         {
                                                                           title => "Chromium bug",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=1274133",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1701488",
                                                                         },
                                                                         {
                                                                           title => "Relative color syntax (blog post)",
                                                                           url => "https://www.matuzo.at/blog/2023/100daysof-day92/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled in Chrome via the `#enable-experimental-web-platform-features` flag in `chrome://flags`",
                                                                         2 => "Does not support `currentcolor` or system color keywords ([Firefox bug 1893966](https://bugzilla.mozilla.org/show_bug.cgi?id=1893966))",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-color-5/#relative-colors",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "a #2" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 118 => "n d #1", 119 => "a #2", 131 => "y" },
                                                                         edge    => { "5.5" => "n", "118" => "n d #1", "119" => "a #2", "131" => "y" },
                                                                         firefox => { 2 => "n", 128 => "a #2", 133 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "16.4" => "a #2", "18.0" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "a #2" },
                                                                         opera   => { 9 => "n", 104 => "n d #1", 106 => "a #2", 117 => "y" },
                                                                         safari  => { "3.1" => "n", "16.4" => "a #2", "18.0" => "y" },
                                                                         samsung => { 4 => "n", 25 => "a #2" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS Relative color syntax",
                                                       ucprefix     => 0,
                                                     },
                "css-repeating-gradients"         => {
                                                       categories   => ["CSS3"],
                                                       description  => "Method of defining a repeating linear or radial color gradient as a CSS image.",
                                                       keywords     => "repeating-linear-gradient,repeating-radial-gradient",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS repeating linear gradient",
                                                                           url => "https://developer.mozilla.org/en/CSS/repeating-linear-gradient",
                                                                         },
                                                                       ],
                                                       notes        => "Firefox 10+, Chrome 26+ and Opera 11.6+ also support the new \"to (side)\" syntax.",
                                                       notes_by_num => {},
                                                       parent       => "css-gradients",
                                                       spec         => "https://www.w3.org/TR/css3-images/#repeating-gradients",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4" => "y x", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 10 => "y x", 26 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { "2" => "n", "3.6" => "y x", "16" => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "5.0-5.1" => "y x", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "n", "11.1" => "a x", "12" => "y x", "12.1" => "y" },
                                                                         opera   => { "9" => "n", "11.1" => "a x", "11.6" => "y x", "12.1" => "y" },
                                                                         safari  => { "3.1" => "n", "5.1" => "y x", "6.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS Repeating Gradients",
                                                       ucprefix     => 0,
                                                     },
                "css-resize"                      => {
                                                       categories   => ["CSS3"],
                                                       description  => "Method of allowing an element to be resized by the user, with options to limit to a given direction. ",
                                                       keywords     => "horizontal,vertical",
                                                       links        => [
                                                                         {
                                                                           title => "CSS Tricks info",
                                                                           url => "https://css-tricks.com/almanac/properties/r/resize/",
                                                                         },
                                                                         {
                                                                           title => "On textarea resizing",
                                                                           url => "https://davidwalsh.name/textarea-resize",
                                                                         },
                                                                         {
                                                                           title => "CSS resize none on textarea is bad for UX",
                                                                           url => "https://catalin.red/css-resize-none-is-bad-for-ux/",
                                                                         },
                                                                         {
                                                                           title => "MDN - resize",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/resize",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Presto-based Opera 12.10+ currently only supports the resize property for textarea elements.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-ui/#resize",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 4 => "y x", 5 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { "9" => "n", "12.1" => "a #1", "15" => "y" },
                                                                         safari  => { "3.1" => "n", "4" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "CSS resize property",
                                                       ucprefix     => 0,
                                                     },
                "css-revert-value"                => {
                                                       categories   => ["CSS"],
                                                       description  => "A CSS keyword value that resets a property's value to the default specified by the browser in its UA stylesheet, as if the webpage had not included any CSS. For example, `display:revert` on a `<div>` would result in `display:block`. This is in contrast to the `initial` value, which is simply defined on a per-property basis, and for `display` would be `inline`.",
                                                       keywords     => "CSS,reset,value",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS revert",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/revert",
                                                                         },
                                                                         {
                                                                           title => "Firefox feature request bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1215878",
                                                                         },
                                                                         {
                                                                           title => "Chrome feature request issue",
                                                                           url => "https://code.google.com/p/chromium/issues/detail?id=579788",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/css-cascade-4/#valdef-all-revert",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 84 => "y" },
                                                                         edge    => { "5.5" => "n", "84" => "y" },
                                                                         firefox => { 2 => "n", 67 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "9.3" => "y" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 73 => "y" },
                                                                         safari  => { "3.1" => "n", "9.1" => "y" },
                                                                         samsung => { "4" => "n", "14.0" => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS revert value",
                                                       ucprefix     => 0,
                                                     },
                "css-rrggbbaa"                    => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5685348285808640,
                                                       description  => "The CSS Color Module Level 4 defines new 4 & 8 character hex notation for color to include the opacity level.",
                                                       keywords     => "rgba, rrggbbaa, color",
                                                       links        => [
                                                                         {
                                                                           title => "JS Bin testcase",
                                                                           url => "https://jsbin.com/ruyetahatu/edit?html,css,output",
                                                                         },
                                                                       ],
                                                       notes        => "Only supported in Android WebViews in apps that target Android Pie, due to [this issue](https://bugs.chromium.org/p/chromium/issues/detail?id=618472)",
                                                       notes_by_num => {
                                                                         1 => "Can be enabled via the \"Experimental web platform features\" flag.",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-color/#hex-notation",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 52 => "n d #1", 62 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 49 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.0-10.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 39 => "n d #1", 52 => "y" },
                                                                         safari  => { "3.1" => "n", "10" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "n d #1", "8.2" => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "#rrggbbaa hex color notation",
                                                       ucprefix     => 0,
                                                     },
                "css-scroll-behavior"             => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5812155903377408,
                                                       description  => "Method of specifying the scrolling behavior for a scrolling box, when scrolling happens due to navigation or CSSOM scrolling APIs.",
                                                       keywords     => "smooth,scroll,cssom,scroll-behavior,smoothscroll",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS scroll-behavior",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior",
                                                                         },
                                                                         {
                                                                           title => "Chrome launch bug ",
                                                                           url => "https://code.google.com/p/chromium/issues/detail?id=243871",
                                                                         },
                                                                         {
                                                                           title => "Blog post with demo",
                                                                           url => "https://hospodarets.com/native_smooth_scrolling",
                                                                         },
                                                                         {
                                                                           title => "iOS / WebKit bug report",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=188043",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to support everything except of [`Element.scrollIntoView()`](https://caniuse.com/scrollintoview) and [not together with pinch viewport](https://bugs.chromium.org/p/chromium/issues/detail?id=434497).",
                                                                         2 => "Supported in Chrome and Opera behind the 'Smooth Scrolling' and/or 'Enable experimental web platform features' flag",
                                                                         3 => "Supported in Safari via the \"CSSOM View Smooth Scrolling\" Experimental Features flag.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-overflow-3/#smooth-scrolling",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y #1" },
                                                                         and_uc  => { "15.5" => "y #1" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 41 => "n d #1 #2", 61 => "y #1" },
                                                                         edge    => { "5.5" => "n", "79" => "y #1" },
                                                                         firefox => { 2 => "n", 36 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "14.5-14.8" => "n d #3", "15.4" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 28 => "n d #1 #2", 48 => "y #1" },
                                                                         safari  => { "3.1" => "n", "14" => "n d #3", "15.4" => "y" },
                                                                         samsung => { "4" => "n", "8.2" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS Scroll-behavior",
                                                       ucprefix     => 0,
                                                     },
                "css-scrollbar"                   => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5665308343795712,
                                                       description  => "Methods of styling scrollbars' color and width.",
                                                       keywords     => "scrollbar-button,scrollbar-track,scrollbar-thumb,scrollbar-base-color,scrollbar-face-color,scrollbar-color,scrollbar-width",
                                                       links        => [
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1460109",
                                                                         },
                                                                         {
                                                                           title => "Stackoverflow article discussing cross-browser support",
                                                                           url => "https://stackoverflow.com/questions/9251354/css-customized-scroll-bar-in-div/14150577#14150577",
                                                                         },
                                                                         {
                                                                           title => "Tutorial for IE & WebKit/Blink browsers",
                                                                           url => "http://codemug.com/html/custom-scrollbars-using-css/",
                                                                         },
                                                                         {
                                                                           title => "\"perfect-scrollbar\" - Minimal custom scrollbar plugin",
                                                                           url => "https://perfectscrollbar.com/",
                                                                         },
                                                                         {
                                                                           title => "jQuery custom content scroller",
                                                                           url => "https://manos.malihu.gr/jquery-custom-content-scroller/",
                                                                         },
                                                                         {
                                                                           title => "Webkit blog post describing their non-standard support",
                                                                           url => "https://webkit.org/blog/363/styling-scrollbars/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Only supports styling scrollbar colors through proprietary prefixed properties, no other properties to define the scrollbar's appearance. (not on standards track)",
                                                                         2 => "Supports scrollbar styling via CSS [pseudo-properties](https://webkit.org/blog/363/styling-scrollbars/). (not on standards track)",
                                                                         3 => "Scrollbar styling doesn\x{2019}t work in [WKWebView](https://issues.apache.org/jira/browse/CB-10123)",
                                                                         4 => "Can be enabled by setting the layout.css.scrollbar-colors.enabled and layout.css.scrollbar-width.enabled flags to true.",
                                                                         5 => "Firefox 63 supported scrollbar-face-color and scrollbar-track-color separate properties (now dropped from the spec) instead of unified scrollbar-color property.",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-scrollbars-1/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "a x #2" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "a x #2" },
                                                                         and_uc  => { "15.5" => "a x #2" },
                                                                         baidu   => { "13.52" => "a x #2" },
                                                                         bb      => { 7 => "a x #2" },
                                                                         chrome  => { 4 => "a x #2", 121 => "y" },
                                                                         edge    => { "5.5" => "a #1", "12" => "n", "79" => "a x #2", "121" => "y" },
                                                                         firefox => { 2 => "n", 63 => "n d #4 #5", 64 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "14.0-14.4" => "n", "3.2" => "u", "7.0-7.1" => "a x #2", "8" => "a x #2 #3" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "a x #2" },
                                                                         opera   => { 9 => "n", 15 => "a x #2", 107 => "y" },
                                                                         safari  => { "3.1" => "u", "5.1" => "a x #2" },
                                                                         samsung => { 4 => "a x #2", 25 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS scrollbar styling",
                                                       ucprefix     => 0,
                                                     },
                "css-sel2"                        => {
                                                       categories   => ["CSS2"],
                                                       description  => "Basic CSS selectors including: `*` (universal selector), `>` (child selector), `:first-child`, `:link`, `:visited`, `:active`, `:hover`, `:focus`, `:lang()`, `+` (adjacent sibling selector), `[attr]`, `[attr=\"val\"]`, `[attr~=\"val\"]`, `[attr|=\"bar\"]`, `.foo` (class selector), `#foo` (id selector)",
                                                       keywords     => "attribute selector",
                                                       links        => [
                                                                         {
                                                                           title => "Detailed support information",
                                                                           url => "https://www.quirksmode.org/css/contents.html",
                                                                         },
                                                                         {
                                                                           title => "Examples of advanced selectors",
                                                                           url => "https://www.yourhtmlsource.com/stylesheets/advancedselectors.html",
                                                                         },
                                                                         {
                                                                           title => "Selectivizr: Polyfill for IE6-8",
                                                                           url => "http://selectivizr.com",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/selectors",
                                                                         },
                                                                       ],
                                                       notes        => "Support for `:visited` styling [varies across browsers](https://www.webfx.com/blog/web-design/visited-pseudo-class-strange/) due to security concerns.",
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/CSS21/selector.html",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "6" => "p", "7" => "y" },
                                                                         firefox => { 2 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { 9 => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "CSS 2.1 selectors",
                                                       ucprefix     => 0,
                                                     },
                "css-sel3"                        => {
                                                       categories => ["CSS3"],
                                                       description => "Advanced element selection using selectors including: `[foo^=\"bar\"]`, `[foo\$=\"bar\"]`, `[foo*=\"bar\"]`, `:root`, `:nth-child()`,  `:nth-last-child()`, `:nth-of-type()`, `:nth-last-of-type()`, `:last-child`, `:first-of-type`, `:last-of-type`, `:only-child`, `:only-of-type`, `:empty`, `:target`, `:enabled`, `:disabled`, `:checked`, `:not()`, `~` (general sibling)",
                                                       links => [
                                                         {
                                                           title => "Detailed support information",
                                                           url => "https://www.quirksmode.org/css/selectors/",
                                                         },
                                                         {
                                                           title => "Automated CSS3 selector test",
                                                           url => "http://www.css3.info/selectors-test/",
                                                         },
                                                         {
                                                           title => "Selectivizr: Polyfill for IE6-8",
                                                           url => "http://selectivizr.com",
                                                         },
                                                         {
                                                           title => "WebPlatform Docs",
                                                           url => "https://webplatform.github.io/docs/css/selectors",
                                                         },
                                                       ],
                                                       notes_by_num => {
                                                         1 => "IE7 and IE8 support only these CSS3 selectors: General siblings (`element1~element2`) and Attribute selectors `[attr^=val]`, `[attr\$=val]`, and `[attr*=val]`",
                                                       },
                                                       spec => "https://www.w3.org/TR/css3-selectors/",
                                                       stats => {
                                                         and_chr => { "2.1" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "y" },
                                                         chrome  => { 4 => "y" },
                                                         edge    => { "5.5" => "n", "6" => "p", "7" => "a #1", "9" => "y" },
                                                         firefox => { "2" => "n", "3.5" => "y" },
                                                         ie_mob  => { 10 => "y" },
                                                         ios_saf => { "3.2" => "y" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "y" },
                                                         op_mob  => { 10 => "y" },
                                                         opera   => { "9" => "n", "9.5-9.6" => "y" },
                                                         safari  => { "3.1" => "n", "3.2" => "y" },
                                                         samsung => { 4 => "y" },
                                                       },
                                                       status => "rec",
                                                       title => "CSS3 selectors",
                                                       ucprefix => 0,
                                                     },
                "css-selection"                   => {
                                                       categories   => ["CSS"],
                                                       description  => "The ::selection CSS pseudo-element applies rules to the portion of a document that has been highlighted (e.g., selected with the mouse or another pointing device) by the user.",
                                                       keywords     => "::selection,selection",
                                                       links        => [
                                                                         {
                                                                           title => "::selection test",
                                                                           url => "https://quirksmode.org/css/selectors/selection.html",
                                                                         },
                                                                         {
                                                                           title => "MDN web docs",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/::selection",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/css-pseudo-4/#selectordef-selection",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                                         firefox => { 2 => "y x", 62 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y x", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "u", "11.5" => "y" },
                                                                         opera   => { "9" => "n", "9.5-9.6" => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "::selection CSS pseudo-element",
                                                       ucprefix     => 0,
                                                     },
                "css-shapes"                      => {
                                                       categories   => ["CSS3"],
                                                       chrome_id    => 5163890719588352,
                                                       description  => "Allows geometric shapes to be set in CSS to define an area for text to flow around. Includes properties `shape-outside`, `shape-margin` and `shape-image-threshold`",
                                                       keywords     => "circle,ellipse,polygon,inset,shape-outside,shape-margin,shape-image-threshold",
                                                       links        => [
                                                                         {
                                                                           title => "A List Apart article",
                                                                           url => "https://alistapart.com/article/css-shapes-101/",
                                                                         },
                                                                         {
                                                                           title => "Firefox tracking bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1040714",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Enabled in Chrome through the \"experimental Web Platform features\" flag in chrome://flags",
                                                                         2 => "Partially supported in Firefox by enabling \"layout.css.shape-outside.enabled\" in about:config",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-shapes/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 34 => "n d #1", 37 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 51 => "n d #2", 62 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "8" => "y x", "10.3" => "y" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 24 => "y" },
                                                                         safari  => { "3.1" => "n", "7.1" => "y x", "10.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS Shapes Level 1",
                                                       ucprefix     => 0,
                                                     },
                "css-snappoints"                  => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5721832506261504,
                                                       description  => "CSS technique that allows customizable scrolling experiences like pagination of carousels by setting defined snap positions.",
                                                       keywords     => "scroll-margin,scroll-snap-points-x,scroll-snap-points-y,scroll-snap-type,scroll-snap-destination,scroll-snap-coordinate,scroll-snap-margin,scroll-snap-align,scroll-snap-stop",
                                                       links        => [
                                                                         {
                                                                           title => "Blog post",
                                                                           url => "https://generatedcontent.org/post/66817675443/setting-native-like-scrolling-offsets-in-css-with",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - CSS Scroll snap points",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Scroll_Snap_Points",
                                                                         },
                                                                         {
                                                                           title => "Polyfill - based on an [older version](https://www.w3.org/TR/2015/WD-css-snappoints-1-20150326/) of the spec",
                                                                           url => "https://github.com/ckrack/scrollsnap-polyfill",
                                                                         },
                                                                         {
                                                                           title => "Polyfill - based on the [current version](https://www.w3.org/TR/css-scroll-snap-1/) of the spec",
                                                                           url => "https://www.npmjs.com/package/css-scroll-snap-polyfill",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - CSS Scroll Snap",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Scroll_Snap",
                                                                         },
                                                                         {
                                                                           title => "A CSS Snap Points based carousel (and lightweight polyfill) ",
                                                                           url => "https://github.com/filamentgroup/snapper",
                                                                         },
                                                                       ],
                                                       notes        => "Works in the iOS WKWebView, but not UIWebView.",
                                                       notes_by_num => {
                                                                         1 => "Partial support in IE10 refers to support limited to touch screens.",
                                                                         2 => "Partial support in IE11 [documented here](https://web.archive.org/web/20160616212557/https://dl.dropboxusercontent.com/u/444684/openwebref/CSS/scroll-snap-points/support.html)",
                                                                         4 => "Partial support in Safari refers to not supporting the `none` keyword in `scroll-snap-points-x`, `scroll-snap-points-y` and `scroll-snap-coordinate`, and length keywords (`top`, `right`, etc.) in `scroll-snap-destination` and `scroll-snap-coordinate`.",
                                                                         5 => "Supports properties from an [older version](https://www.w3.org/TR/2015/WD-css-snappoints-1-20150326/) of the spec.",
                                                                         6 => "Partial support in IE & Edge refers to not supporting `scroll-snap-coordinate` and `scroll-snap-destination`.",
                                                                         7 => "Available behind the \"Experimental Web Platform features\" feature flag",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-scroll-snap-1/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 66 => "n d #7", 69 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "a x #1 #5 #6", "11" => "a x #2 #5 #6", "79" => "y" },
                                                                         firefox => { 2 => "n", 39 => "a #5", 68 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.0-11.2" => "y", "3.2" => "n", "9.0-9.2" => "a x #4 #5" },
                                                                         kaios   => { "2.5" => "a #5", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 54 => "n d #7", 64 => "y" },
                                                                         safari  => { "3.1" => "n", "9" => "a x #4 #5", "11" => "y" },
                                                                         samsung => { "4" => "n", "10.1" => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS Scroll Snap",
                                                       ucprefix     => 0,
                                                     },
                "css-sticky"                      => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 6190250464378880,
                                                       description  => "Keeps elements positioned as \"fixed\" or \"relative\" depending on how it appears in the viewport. As a result the element is \"stuck\" when necessary while scrolling.",
                                                       links        => [
                                                                         {
                                                                           title => "HTML5Rocks",
                                                                           url => "https://developers.google.com/web/updates/2012/08/Stick-your-landings-position-sticky-lands-in-WebKit",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - CSS position",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/position",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/properties/position",
                                                                         },
                                                                         {
                                                                           title => "Polyfill",
                                                                           url => "https://github.com/dollarshaveclub/stickybits",
                                                                         },
                                                                         {
                                                                           title => "Another polyfill",
                                                                           url => "https://github.com/wilddeer/stickyfill",
                                                                         },
                                                                         {
                                                                           title => "geddski article: Examples and Gotchas",
                                                                           url => "https://mastery.games/post/position-sticky/",
                                                                         },
                                                                       ],
                                                       notes        => "`sticks` to its nearest ancestor that has a `scrolling mechanism` (created when overflow is hidden, scroll, auto, or overlay), even if that ancestor isn't the nearest actually scrolling ancestor",
                                                       notes_by_num => {
                                                                         1 => "Can be enabled in Firefox by setting the about:config preference layout.css.sticky.enabled to true",
                                                                         2 => "Enabled through the \"experimental Web Platform features\" flag",
                                                                         3 => "Not supported on any `table` parts - See [Firefox bug](https://bugzilla.mozilla.org/show_bug.cgi?id=975644)",
                                                                         4 => "Supported on `th` elements, but not `thead` or `tr` - See [Chrome bug](https://bugs.chromium.org/p/chromium/issues/detail?id=702927)",
                                                                         5 => "Do not appear to support sticky table headers",
                                                                         6 => "Supported on `th` elements, but not `thead` or `tr` - See [Edge bug](https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/16765952/)",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-position/#sticky-pos",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "a #4" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 23 => "n d #2", 37 => "n", 52 => "n d #2", 56 => "a #4", 91 => "y" },
                                                                         edge    => { "5.5" => "n", "16" => "a #6", "79" => "a #4", "91" => "y" },
                                                                         firefox => { 2 => "n", 26 => "n d #1", 32 => "a #3", 59 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "13.0-13.1" => "y", "3.2" => "n", "6.0-6.1" => "a x #5", "8" => "y x" },
                                                                         kaios   => { "2.5" => "a #3", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 39 => "n d #2", 42 => "a #4", 78 => "y" },
                                                                         safari  => { "3.1" => "n", "6.1" => "a x #5", "7.1" => "y x", "13" => "y" },
                                                                         samsung => { "4" => "n", "6.2-6.4" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS position:sticky",
                                                       ucprefix     => 0,
                                                     },
                "css-subgrid"                     => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5663795354533888,
                                                       description  => "Feature of the CSS Grid Layout Module Level 2 that allows a grid-item with its own grid to align in one or both dimensions with its parent grid.",
                                                       keywords     => "grid-template-columns:subgrid,grid-template-rows:subgrid",
                                                       links        => [
                                                                         {
                                                                           title => "CSS Grid Level 2: Here Comes Subgrid",
                                                                           url => "https://www.smashingmagazine.com/2018/07/css-grid-2/",
                                                                         },
                                                                         {
                                                                           title => " Why we need CSS subgrid ",
                                                                           url => "https://dev.to/kenbellows/why-we-need-css-subgrid-53mh",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1240834",
                                                                         },
                                                                         { title => "Chromium support bug", url => "https://crbug.com/618969" },
                                                                         {
                                                                           title => "Webkit support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=202115",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Available behind the [Experimental Web Platform features](chrome://flags/#enable-experimental-web-platform-features) flag",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-grid-2/#subgrids",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 114 => "n d #1", 117 => "y" },
                                                                         edge    => { "5.5" => "n", "114" => "n d #1", "117" => "y" },
                                                                         firefox => { 2 => "n", 71 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "16.0" => "y" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 100 => "n d #1", 103 => "y" },
                                                                         safari  => { "3.1" => "n", "16.0" => "y" },
                                                                         samsung => { 4 => "n", 24 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS Subgrid",
                                                       ucprefix     => 0,
                                                     },
                "css-supports-api"                => {
                                                       categories   => ["DOM", "JS API"],
                                                       chrome_id    => 4993981813358592,
                                                       description  => "The CSS.supports() static method returns a Boolean value indicating if the browser supports a given CSS feature, or not.",
                                                       keywords     => "conditional",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS supports()",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/CSS.supports",
                                                                         },
                                                                         {
                                                                           title => "Demo (Chinese)",
                                                                           url => "https://jsbin.com/rimevilotari/1/edit?html,output",
                                                                         },
                                                                         {
                                                                           title => "Native CSS Feature Detection via the \@supports Rule",
                                                                           url => "https://dev.opera.com/articles/native-css-feature-detection/",
                                                                         },
                                                                         {
                                                                           title => "CSS \@supports",
                                                                           url => "https://davidwalsh.name/css-supports",
                                                                         },
                                                                         {
                                                                           title => "Article (Chinese)",
                                                                           url => "https://blog.csdn.net/hfahe/article/details/8619480",
                                                                         },
                                                                       ],
                                                       notes        => "See also [\@supports in CSS](css-featurequeries)",
                                                       notes_by_num => {
                                                                         1 => "Partial support in Presto-based Opera browsers refers to using an older API (`window.supportsCSS`)",
                                                                         2 => "Does not support parentheses-less one-argument version.",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-conditional/#the-css-interface",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 28 => "a #2", 61 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "a #2", "79" => "y" },
                                                                         firefox => { 2 => "n", 20 => "n d", 22 => "a #2", 55 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "a #1" },
                                                                         op_mob  => { "10" => "n", "12.1" => "a #1", "80" => "y" },
                                                                         opera   => { "9" => "n", "12.1" => "a #1", "15" => "y" },
                                                                         safari  => { "3.1" => "n", "9" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS.supports() API",
                                                       ucprefix     => 0,
                                                     },
                "css-table"                       => {
                                                       categories   => ["CSS2"],
                                                       description  => "Method of displaying elements as tables, rows, and cells. Includes support for all `display: table-*` properties as well as `display: inline-table`",
                                                       keywords     => "display:table,table-cell,table-row,table-layout",
                                                       links        => [
                                                                         {
                                                                           title => "Blog post on usage",
                                                                           url => "https://www.onenaught.com/posts/201/use-css-displaytable-for-layout",
                                                                         },
                                                                       ],
                                                       notes_by_num => { 1 => "Firefox 2 does not support `inline-table`" },
                                                       spec         => "https://www.w3.org/TR/CSS21/tables.html",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "8" => "y" },
                                                                         firefox => { 2 => "a #1", 3 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { 9 => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "CSS Table display",
                                                       ucprefix     => 0,
                                                     },
                "css-text-align-last"             => {
                                                       categories   => ["CSS3"],
                                                       description  => "CSS property to describe how the last line of a block or a line right before a forced line break when `text-align` is `justify`.",
                                                       keywords     => "text align last",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS text-align-last",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/text-align-last",
                                                                         },
                                                                         {
                                                                           title => "WebKit support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=146772",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "In Internet Explorer, the start and end values are not supported.",
                                                                         2 => "Enabled through the \"Enable Experimental Web Platform Features\" flag in chrome://flags",
                                                                         3 => "Enabled through the \"Enable Experimental Web Platform Features\" flag in opera://flags",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-text/#text-align-last-property",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 35 => "n d #2", 47 => "y" },
                                                                         edge    => { "5.5" => "a #1", "12" => "a", "79" => "y" },
                                                                         firefox => { 2 => "n", 12 => "y x", 49 => "y" },
                                                                         ie_mob  => { 10 => "a #1" },
                                                                         ios_saf => { "3.2" => "n", "16.0" => "y" },
                                                                         kaios   => { "2.5" => "y x", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 22 => "n d #3", 34 => "y" },
                                                                         safari  => { "3.1" => "n", "16.0" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS3 text-align-last",
                                                       ucprefix     => 0,
                                                     },
                "css-text-box-trim"               => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5174589850648576,
                                                       description  => "CSS `text-box` (and it\x{2019}s longhands `text-box-trim` & `text-box-edge`) provide the ability to trim extra space over/under text glyphs at the start/end of a block to match specific font-provided metrics. This allows for more precise alignment and positioning of text. ",
                                                       keywords     => "leading-trim,text-edge",
                                                       links        => [
                                                                         {
                                                                           title => "Document with examples of text-box-trim uses",
                                                                           url => "https://github.com/jantimon/text-box-trim-examples",
                                                                         },
                                                                         {
                                                                           title => "CSS Tricks article",
                                                                           url => "https://css-tricks.com/leading-trim-the-future-of-digital-typesetting/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Available behind a [Safari feature flag](https://developer.apple.com/documentation/safari-developer-tools/feature-flag-settings).",
                                                                         2 => "Can be enabled via the `#text-box-trim` flag in `chrome://flags`",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-inline-3/#propdef-leading-trim",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 128 => "n d #2", 133 => "y" },
                                                                         edge    => { "5.5" => "n", "128" => "n d #2", "132" => "y" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "16.4" => "n d #1", "18.2" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 117 => "n d #2" },
                                                                         safari  => { "3.1" => "n", "16.4" => "n d #1", "18.2" => "y" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS Text Box",
                                                       ucprefix     => 0,
                                                     },
                "css-text-indent"                 => {
                                                       categories   => ["CSS"],
                                                       description  => "The `text-indent` property applies indentation to lines of inline content in a block.",
                                                       keywords     => "each-line,hanging",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS text-indent",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/text-indent",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=784648",
                                                                         },
                                                                         {
                                                                           title => "WebKit support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=112755",
                                                                         },
                                                                         {
                                                                           title => "Article on using text-indent for image replacement",
                                                                           url => "https://www.sitepoint.com/css-image-replacement-text-indent-negative-margins-and-more/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to supporting a `<length>` value, but not the `each-line` or `hanging` keywords.",
                                                                         2 => "Support for `each-line` & `hanging` is available behind the Experimental Web Platform features flag",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-text-3/#text-indent-property",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a #1", "135" => "a #1 #2" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "a #1 #2" },
                                                                         and_uc  => { "15.5" => "a #1 #2" },
                                                                         baidu   => { "13.52" => "a #1 #2" },
                                                                         bb      => { 7 => "a #1" },
                                                                         chrome  => { 4 => "a #1", 38 => "a #1 #2" },
                                                                         edge    => { "5.5" => "a #1", "79" => "a #1 #2" },
                                                                         firefox => { 2 => "a #1", 121 => "y" },
                                                                         ie_mob  => { 10 => "a #1" },
                                                                         ios_saf => { "3.2" => "a #1", "16.0" => "y" },
                                                                         kaios   => { "2.5" => "a #1" },
                                                                         op_mini => { all => "a #1" },
                                                                         op_mob  => { 10 => "a #1", 80 => "a #1 #2" },
                                                                         opera   => { 9 => "a #1", 25 => "a #1 #2" },
                                                                         safari  => { "3.1" => "a #1", "16.0" => "y" },
                                                                         samsung => { "4" => "a #1", "5.0-5.4" => "a #1 #2" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS text-indent",
                                                       ucprefix     => 0,
                                                     },
                "css-text-justify"                => {
                                                       categories => ["CSS"],
                                                       description => "CSS property to define how text should be justified when `text-align: justify` is set.",
                                                       links => [
                                                         {
                                                           title => "Chrome support bug",
                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=248894",
                                                         },
                                                         {
                                                           title => "WebKit support bug",
                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=99945",
                                                         },
                                                         {
                                                           title => "Firefox support bug",
                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=276079",
                                                         },
                                                       ],
                                                       notes_by_num => {
                                                         1 => "Supports `inter-word`, but not `inter-character` or `none`. Also supports the following unofficial values: `distribute`, `distribute-all-lines`, `distribute-center-last`, `inter-cluster`, `inter-ideograph`, `newspaper`. See [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/text-justify) for details.",
                                                         2 => "`inter-word` and `distribute` values supported behind the \"Experimental platform features\" flag but `distribute` support [is buggy](https://bugs.chromium.org/p/chromium/issues/detail?id=467406)",
                                                         3 => "Behind the \"layout.css.text-justify.enabled\" flag",
                                                         4 => "Supports `auto`, `none`, `inter-word`, `inter-character`, and `distribute` with the exact same meaning and behavior as `inter-character` for legacy reasons.",
                                                       },
                                                       spec => "https://w3c.github.io/csswg-drafts/css-text-3/#text-justify-property",
                                                       stats => {
                                                         and_chr => { "2.1" => "n", "135" => "n d #2" },
                                                         and_ff  => { 137 => "y #4" },
                                                         and_qq  => { "14.9" => "n d #2" },
                                                         and_uc  => { "15.5" => "n d #2" },
                                                         baidu   => { "13.52" => "n d #2" },
                                                         bb      => { 7 => "n" },
                                                         chrome  => { 4 => "n", 43 => "n d #2" },
                                                         edge    => { "5.5" => "u", "8" => "a #1", "79" => "n d #2" },
                                                         firefox => { 2 => "n", 54 => "n d #3 #4", 55 => "y #4" },
                                                         ie_mob  => { 10 => "a #1" },
                                                         ios_saf => { "3.2" => "n" },
                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y #4" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "n", 80 => "n d #2" },
                                                         opera   => { 9 => "n", 30 => "n d #2" },
                                                         safari  => { "3.1" => "n" },
                                                         samsung => { "4" => "n", "5.0-5.4" => "n d #2" },
                                                       },
                                                       status => "cr",
                                                       title => "CSS text-justify",
                                                       ucprefix => 0,
                                                     },
                "css-text-orientation"            => {
                                                       categories => ["CSS"],
                                                       description => "The CSS `text-orientation` property specifies the orientation of text within a line. Current values only have an effect in vertical typographic modes (defined with the `writing-mode` property)",
                                                       links => [
                                                         {
                                                           title => "CSS text-orientation on MDN",
                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/text-orientation",
                                                         },
                                                       ],
                                                       notes_by_num => {
                                                         1 => "Can be enabled on firefox via the 'layout.css.vertical-text.enabled' flag in about:config.",
                                                       },
                                                       spec => "https://w3c.github.io/csswg-drafts/css-writing-modes-3/#text-orientation",
                                                       stats => {
                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "n" },
                                                         chrome  => { 4 => "n", 48 => "y" },
                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                         firefox => { 2 => "n", 38 => "n d #1", 41 => "y" },
                                                         ie_mob  => { 10 => "n" },
                                                         ios_saf => { "10.0-10.2" => "y", "3.2" => "n" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                         opera   => { 9 => "n", 35 => "y" },
                                                         safari  => { "3.1" => "n", "10" => "u", "10.1" => "y x", "14" => "y" },
                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                       },
                                                       status => "rec",
                                                       title => "CSS text-orientation",
                                                       ucprefix => 0,
                                                     },
                "css-text-wrap-balance"           => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5196960707903488,
                                                       description  => "Allows multiple lines of text to have their lines broken in such a way that each line is roughly the same width, often used to make headlines more readable and visually appealing.",
                                                       keywords     => "balanced",
                                                       links        => [
                                                                         {
                                                                           title => "WebKit support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=249840",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1731541",
                                                                         },
                                                                         {
                                                                           title => "Blog post",
                                                                           url => "https://dev.to/hunzaboy/text-balance-in-css-is-coming-17e3",
                                                                         },
                                                                         { title => "Polyfill", url => "https://github.com/adobe/balance-text" },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Only supports text-wrap: balance, not text-wrap-style: balance.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-text-4/#text-wrap",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 114 => "a #1", 130 => "y" },
                                                                         edge    => { "5.5" => "n", "114" => "a #1", "130" => "y" },
                                                                         firefox => { 2 => "n", 121 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "17.5" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "a #1" },
                                                                         opera   => { 9 => "n", 99 => "a #1", 116 => "y" },
                                                                         safari  => { "3.1" => "n", "17.5" => "y" },
                                                                         samsung => { 4 => "n", 23 => "a #1" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS text-wrap: balance",
                                                       ucprefix     => 0,
                                                     },
                "css-textshadow"                  => {
                                                       categories   => ["CSS3"],
                                                       description  => "Method of applying one or more shadow or blur effects to text",
                                                       keywords     => "text shadow",
                                                       links        => [
                                                                         {
                                                                           title => "Mozilla hacks article",
                                                                           url => "https://hacks.mozilla.org/2009/06/text-shadow/",
                                                                         },
                                                                         {
                                                                           title => "Live editor",
                                                                           url => "https://testdrive-archive.azurewebsites.net/Graphics/hands-on-css3/hands-on_text-shadow.htm",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/properties/text-shadow",
                                                                         },
                                                                       ],
                                                       notes        => "Opera Mini ignores the blur-radius set, so no blur effect is visible. Text-shadow behavior can be somewhat emulated in older IE versions using the non-standard \"dropshadow\" or \"glow\" filters.",
                                                       notes_by_num => {
                                                                         1 => "IE 10+ supports a fourth length value for the shadow's \"spread\". This is not (yet) part of the specification.",
                                                                         2 => "Partial support in Safari 3.* refers to not supporting multiple shadows.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-text-decor-3/#text-shadow-property",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a", 10 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y #1", "79" => "y" },
                                                                         firefox => { "2" => "n", "3.5" => "y" },
                                                                         ie_mob  => { 10 => "y #1" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "a" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { "9" => "n", "9.5-9.6" => "y" },
                                                                         safari  => { "3.1" => "a #2", "4" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS3 Text-shadow",
                                                       ucprefix     => 0,
                                                     },
                "css-touch-action"                => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5912074022551552,
                                                       description  => "touch-action is a CSS property that controls filtering of gesture events, providing developers with a declarative mechanism to selectively disable touch scrolling (in one or both axes) or double-tap-zooming.",
                                                       keywords     => "touch action",
                                                       links        => [
                                                                         {
                                                                           title => "300ms tap delay, gone away",
                                                                           url => "https://developer.chrome.com/blog/300ms-tap-delay-gone-away/",
                                                                         },
                                                                         {
                                                                           title => "What Exactly Is..... The 300ms Click Delay",
                                                                           url => "https://www.telerik.com/blogs/what-exactly-is.....-the-300ms-click-delay",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - CSS touch-action",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Supported in Firefox behind the `layout.css.touch_action.enabled` flag, Firefox for Windows 8 Touch ('Metro') enabled by default.",
                                                                         2 => "Supported non-standard properties `double-tap-zoom`, `cross-slide-x`, `cross-slide-y`.",
                                                                         3 => "Only supported `auto` and `manipulation`.",
                                                                         4 => "Not applicable to platforms that do not support pointer or touch events.",
                                                                         5 => "Not applicable to platforms that do not support touch events.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/pointerevents/#the-touch-action-css-property",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 36 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y x #2", "11" => "y" },
                                                                         firefox => { 2 => "n", 29 => "n d #1", 52 => "y #4", 57 => "y" },
                                                                         ie_mob  => { 10 => "y x #2", 11 => "y" },
                                                                         ios_saf => { "13.0-13.1" => "y", "3.2" => "n", "9.3" => "a #3" },
                                                                         kaios   => { "2.5" => "n d #1", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 23 => "y" },
                                                                         safari  => { "3.1" => "n #5" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "CSS touch-action property",
                                                       ucprefix     => 0,
                                                     },
                "css-transitions"                 => {
                                                       categories   => ["CSS3"],
                                                       description  => "Simple method of animating certain properties of an element, with ability to define property, duration, delay and timing function. ",
                                                       keywords     => "css transition,transitionend,transition-property,transition-duration,transition-timing-function,transition-delay,steps,step-start,step-end,cubic-bezier",
                                                       links        => [
                                                                         {
                                                                           title => "Article on usage",
                                                                           url => "https://www.webdesignerdepot.com/2010/01/css-transitions-101/",
                                                                         },
                                                                         {
                                                                           title => "Examples on timing functions",
                                                                           url => "https://www.the-art-of-web.com/css/timing-function/",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/properties/transition",
                                                                         },
                                                                         {
                                                                           title => "MDN - CSS transitions",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_transitions",
                                                                         },
                                                                       ],
                                                       notes        => "Support listed is for `transition` properties as well as the `transitionend` event.",
                                                       notes_by_num => {
                                                                         1 => "Does not support the `steps()`, `step-start` & `step-end` timing functions",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-transitions/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y x", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y x", 10 => "y" },
                                                                         chrome  => { 4 => "y x", 26 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "n", 4 => "a x #1", 5 => "y x", 16 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "a x #1", "6.0-6.1" => "y x", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "a x #1", "12" => "y x", "12.1" => "y" },
                                                                         opera   => { "9" => "n", "10.5" => "a x #1", "12" => "y x", "12.1" => "y" },
                                                                         safari  => { "3.1" => "a x #1", "5.1" => "y x", "6.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS3 Transitions",
                                                       ucprefix     => 0,
                                                     },
                "css-unset-value"                 => {
                                                       categories   => ["CSS"],
                                                       description  => "A CSS value that's the same as \"inherit\" if a property is inherited or \"initial\" if a property is not inherited.",
                                                       keywords     => "CSS,unset,value",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS unset",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/unset",
                                                                         },
                                                                         {
                                                                           title => "Resetting styles using `all: unset`",
                                                                           url => "https://mcc.id.au/blog/2013/10/all-unset",
                                                                         },
                                                                         {
                                                                           title => "WebKit bug 148614: Add support for the `unset` CSS property value",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=148614",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/css-cascade-3/#inherit-initial",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 41 => "y" },
                                                                         edge    => { "5.5" => "n", "13" => "y" },
                                                                         firefox => { 2 => "n", 27 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "9.3" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 28 => "y" },
                                                                         safari  => { "3.1" => "n", "9.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "CSS unset value",
                                                       ucprefix     => 0,
                                                     },
                "css-variables"                   => {
                                                       categories   => ["CSS3"],
                                                       chrome_id    => 6401356696911872,
                                                       description  => "Permits the declaration and usage of cascading variables in stylesheets.",
                                                       keywords     => "css variables,cssvariables,vars,custom properties,var(),--var",
                                                       links        => [
                                                                         {
                                                                           title => "Mozilla hacks article (older syntax)",
                                                                           url => "https://hacks.mozilla.org/2013/12/css-variables-in-firefox-nightly/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Using CSS variables",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables",
                                                                         },
                                                                         {
                                                                           title => "Edge Dev Blog post",
                                                                           url => "https://blogs.windows.com/msedgedev/2017/03/24/css-custom-properties/",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for IE11",
                                                                           url => "https://github.com/nuxodin/ie11CustomProperties",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Enabled through the \"Experimental Web Platform features\" flag in `chrome://flags`",
                                                                         2 => "Partial support is due to bugs present (see known issues)",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-variables/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 48 => "n d #1", 49 => "y" },
                                                                         edge    => { "5.5" => "n", "15" => "a #2", "16" => "y" },
                                                                         firefox => { 2 => "n", 31 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.0-10.2" => "y", "3.2" => "n", "9.3" => "a #2" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 35 => "n d #1", 36 => "y" },
                                                                         safari  => { "3.1" => "n", "9.1" => "a #2", "10" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS Variables (Custom Properties)",
                                                       ucprefix     => 0,
                                                     },
                "css-when-else"                   => {
                                                       categories => ["CSS"],
                                                       description => "Syntax allowing CSS conditions (like media and support queries) to be written more simply, as well as making it possible to write mutually exclusive rules using `\@else` statements.",
                                                       links => [
                                                         {
                                                           title => "Blog post: Extending CSS when/else chains: A first look",
                                                           url => "https://blog.logrocket.com/extending-css-when-else-chains-first-look/",
                                                         },
                                                         {
                                                           title => "Chrome support bug",
                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=1282896",
                                                         },
                                                         {
                                                           title => "Firefox support bug",
                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1747727",
                                                         },
                                                         {
                                                           title => "WebKit support bug",
                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=234701",
                                                         },
                                                       ],
                                                       notes_by_num => {},
                                                       spec => "https://www.w3.org/TR/css-conditional-5/#when-rule",
                                                       stats => {
                                                         and_chr => { "2.1" => "n" },
                                                         and_ff  => { 137 => "n" },
                                                         and_qq  => { "14.9" => "n" },
                                                         and_uc  => { "15.5" => "n" },
                                                         baidu   => { "13.52" => "n" },
                                                         bb      => { 7 => "n" },
                                                         chrome  => { 4 => "n" },
                                                         edge    => { "5.5" => "n" },
                                                         firefox => { 2 => "n" },
                                                         ie_mob  => { 10 => "n" },
                                                         ios_saf => { "3.2" => "n" },
                                                         kaios   => { "2.5" => "n" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "n" },
                                                         opera   => { 9 => "n" },
                                                         safari  => { "3.1" => "n" },
                                                         samsung => { 4 => "n" },
                                                       },
                                                       status => "wd",
                                                       title => "CSS \@when / \@else conditional rules",
                                                       ucprefix => 0,
                                                     },
                "css-widows-orphans"              => {
                                                       categories   => ["CSS"],
                                                       description  => "CSS properties to control when lines break across pages or columns by defining the amount of lines that must be left before or after the break.",
                                                       links        => [
                                                                         {
                                                                           title => "CSS last-line: Controlling Widows & Orphans",
                                                                           url => "https://thenewcode.com/946/CSS-last-line-Controlling-Widows-amp-Orphans",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=137367",
                                                                         },
                                                                         {
                                                                           title => "codrops article on orphans",
                                                                           url => "https://tympanus.net/codrops/css_reference/orphans/",
                                                                         },
                                                                         {
                                                                           title => "codrops article on widows",
                                                                           url => "https://tympanus.net/codrops/css_reference/widows/",
                                                                         },
                                                                       ],
                                                       notes        => "Some older WebKit-based browsers recognize the properties, but do not appear to have actual support",
                                                       notes_by_num => {
                                                                         1 => "Supports widows & orphans properties, but due to not supporting CSS multi-columns the support is only for page breaks (for print)",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-break-3/#widows-orphans",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 25 => "y" },
                                                                         edge    => { "5.5" => "n", "8" => "y #1", "10" => "y" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { "10" => "n", "12.1" => "y" },
                                                                         opera   => { 9 => "y #1", 12 => "y" },
                                                                         safari  => { "3.1" => "n", "7" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "CSS widows & orphans",
                                                       ucprefix     => 0,
                                                     },
                "css-writing-mode"                => {
                                                       categories   => ["CSS"],
                                                       description  => "Property to define whether lines of text are laid out horizontally or vertically and the direction in which blocks progress.",
                                                       keywords     => "css,writing,direction,i18n,vertical,ltr,rtl",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS writing-mode",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/writing-mode",
                                                                         },
                                                                         {
                                                                           title => "Chrome Platform Status",
                                                                           url => "https://www.chromestatus.com/feature/5707470202732544",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Internet Explorer supports different values from an [earlier version of the spec](https://www.w3.org/TR/2003/CR-css3-text-20030514/#Progression), which originated from SVG.",
                                                                         2 => "Supported in Firefox under the `layout.css.vertical-text.enabled` flag",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-writing-modes-3/#block-flow",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "3" => "y x", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y x" },
                                                                         chrome  => { 4 => "n", 7 => "u", 8 => "y x", 48 => "y" },
                                                                         edge    => { "5.5" => "a #1", "12" => "y" },
                                                                         firefox => { 2 => "n", 36 => "n d #2", 41 => "y" },
                                                                         ie_mob  => { 10 => "a x" },
                                                                         ios_saf => { "11.0-11.2" => "y", "3.2" => "u", "5.0-5.1" => "y x" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y x", 35 => "y" },
                                                                         safari  => { "3.1" => "n", "5" => "u", "5.1" => "y x", "11" => "y" },
                                                                         samsung => { "4" => "y x", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "CSS writing-mode property",
                                                       ucprefix     => 0,
                                                     },
                "css-zoom"                        => {
                                                       categories   => ["CSS"],
                                                       description  => "Method of scaling content while also affecting layout.",
                                                       keywords     => "-ms-zoom,transform,-moz-transform,-ms-transform,-webkit-transform,-o-transform,scale,css-transforms",
                                                       links        => [
                                                                         {
                                                                           title => "CSS Tricks",
                                                                           url => "https://css-tricks.com/almanac/properties/z/zoom/",
                                                                         },
                                                                         {
                                                                           title => "Safari Developer Library",
                                                                           url => "https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariCSSRef/Articles/StandardCSSProperties.html#//apple_ref/doc/uid/TP30001266-SW1",
                                                                         },
                                                                         {
                                                                           title => "Article explaining usage of zoom as the hack for fixing rendering bugs in IE6 and IE7.",
                                                                           url => "https://web.archive.org/web/20160809134322/http://www.satzansatz.de/cssd/onhavinglayout.html",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - CSS zoom",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/zoom",
                                                                         },
                                                                       ],
                                                       notes        => "Originally implemented only in Internet Explorer.  Note that `transform: scale()` does not work the same as `zoom`. If e.g. `transform: scale(0.6)` is used on the `html` or `body` element then it resizes the entire page, showing a minified page with huge white margins around it, whereas `zoom: 0.6` scales the *elements* on the page, but not the page itself on which the elements are drawn.",
                                                       notes_by_num => {
                                                                         1 => "The `-ms-zoom` property is an extension to CSS, and can be used as a synonym for `zoom` in IE8 Standards mode.",
                                                                       },
                                                       spec         => "https://drafts.csswg.org/css-viewport/#zoom-property",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "y", "8" => "y #1", "12" => "y" },
                                                                         firefox => { 2 => "n", 126 => "y" },
                                                                         ie_mob  => { 10 => "y #1" },
                                                                         ios_saf => { "3.2" => "n", "4.0-4.1" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "4" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS zoom",
                                                       ucprefix     => 0,
                                                     },
                "css3-attr"                       => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 4680129030651904,
                                                       description  => "While `attr()` is supported for effectively all browsers for the `content` property, CSS Values and Units Level 5 adds the ability to use `attr()` on **any** CSS property, and to use it for non-string values (e.g. numbers, colors).",
                                                       keywords     => "attr,attribute,function",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS attr",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/attr",
                                                                         },
                                                                         {
                                                                           title => "Mozilla Bug #435426: implement css3-values extensions to `attr()`",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=435426",
                                                                         },
                                                                         {
                                                                           title => "Chromium issue #246571: Implement CSS3 attribute / attr references",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=246571",
                                                                         },
                                                                         {
                                                                           title => "WebKit Bug #26609: Support CSS3 attr() function",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=26609",
                                                                         },
                                                                       ],
                                                       notes        => "See the [generated content](/css-gencontent) table for support for `attr()` for the `content` property.",
                                                       notes_by_num => {},
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-values-5/#attr-notation",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 133 => "y" },
                                                                         edge    => { "5.5" => "n", "133" => "y" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "CSS3 attr() function for all properties",
                                                       ucprefix     => 0,
                                                     },
                "css3-boxsizing"                  => {
                                                       categories   => ["CSS3"],
                                                       description  => "Method of specifying whether or not an element's borders and padding should be included in size units",
                                                       keywords     => "border-box,content-box",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS box-sizing",
                                                                           url => "https://developer.mozilla.org/En/CSS/Box-sizing",
                                                                         },
                                                                         {
                                                                           title => "Blog post",
                                                                           url => "https://www.456bereastreet.com/archive/201104/controlling_width_with_css3_box-sizing/",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for IE",
                                                                           url => "https://github.com/Schepp/box-sizing-polyfill",
                                                                         },
                                                                         { title => "CSS Tricks", url => "https://css-tricks.com/box-sizing/" },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/properties/box-sizing",
                                                                         },
                                                                       ],
                                                       notes        => "Firefox versions before 57 also supported the `padding-box` value for `box-sizing`, though this value was been removed from the specification and later versions of the browser.",
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/css-sizing/#box-sizing",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y x", "4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y x", 10 => "y" },
                                                                         chrome  => { 4 => "y x", 10 => "y" },
                                                                         edge    => { "5.5" => "p", "8" => "y" },
                                                                         firefox => { 2 => "y x", 29 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y x", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { "9" => "n", "9.5-9.6" => "y" },
                                                                         safari  => { "3.1" => "y x", "5.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS3 Box-sizing",
                                                       ucprefix     => 0,
                                                     },
                "css3-colors"                     => {
                                                       categories   => ["CSS3"],
                                                       description  => "Method of describing colors using Hue, Saturation and Lightness (hsl()) rather than just RGB, as well as allowing alpha-transparency with rgba() and hsla().",
                                                       keywords     => "rgb,hsl,rgba,hsla",
                                                       links        => [
                                                                         {
                                                                           title => "Dev.Opera article",
                                                                           url => "https://dev.opera.com/articles/view/color-in-opera-10-hsl-rgb-and-alpha-transparency/",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/color#RGBA_Notation",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/css3-color/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                                         firefox => { 2 => "a", 3 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { "10.0-10.1" => "y", "9" => "n", "9.5-9.6" => "a" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "CSS3 Colors",
                                                       ucprefix     => 0,
                                                     },
                "css3-cursors"                    => {
                                                       categories   => ["CSS3"],
                                                       description  => "CSS3 cursor values added in the 2004 spec, including none, context-menu, cell, vertical-text, alias, copy, no-drop, not-allowed, nesw-resize, nwse-resize, col-resize, row-resize and all-scroll. ",
                                                       keywords     => "cursors, pointers",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS cursor",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/cursor",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to no support for the alias, cell, copy, ew-resize, ns-resize, nesw-resize, nwse-resize or context-menu cursors.",
                                                                         2 => "Partial support refers to not supporting 'none'.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-ui/#cursor",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "u" },
                                                                         chrome  => { 4 => "a", 5 => "y" },
                                                                         edge    => { "5.5" => "a #1", "9" => "y", "12" => "a #2", "14" => "y" },
                                                                         firefox => { 2 => "a", 4 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "a #2", 15 => "y" },
                                                                         safari  => { "3.1" => "a", "5" => "y" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "CSS3 Cursors (original values)",
                                                       ucprefix     => 0,
                                                     },
                "css3-cursors-grab"               => {
                                                       categories => ["CSS3"],
                                                       description => "Support for the `grab` & `grabbing` values for the `cursor` property. Used to indicate that something can be grabbed (dragged to be moved).",
                                                       links => [
                                                         {
                                                           title => "MDN Web Docs - CSS cursor",
                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/cursor",
                                                         },
                                                       ],
                                                       notes_by_num => {},
                                                       spec => "https://www.w3.org/TR/css3-ui/#cursor",
                                                       stats => {
                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                         and_ff  => { 137 => "n" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "y x" },
                                                         chrome  => { 4 => "y x", 68 => "y" },
                                                         edge    => { "5.5" => "n", "15" => "y" },
                                                         firefox => { 2 => "y x", 27 => "y" },
                                                         ie_mob  => { 10 => "n" },
                                                         ios_saf => { "3.2" => "n" },
                                                         kaios   => { "2.5" => "n" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                         opera   => { "9" => "n", "11.6" => "y", "15" => "y x", "55" => "y" },
                                                         safari  => { "3.1" => "y x", "11" => "y" },
                                                         samsung => { 4 => "n" },
                                                       },
                                                       status => "rec",
                                                       title => "CSS grab & grabbing cursors",
                                                       ucprefix => 0,
                                                     },
                "css3-cursors-newer"              => {
                                                       categories   => ["CSS3"],
                                                       description  => "Support for `zoom-in`, `zoom-out` values for the CSS3 `cursor` property.",
                                                       keywords     => "cursors, pointers",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS cursor",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/cursor",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/css3-ui/#cursor",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y x" },
                                                                         chrome  => { 4 => "y x", 37 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "y" },
                                                                         firefox => { 2 => "y x", 24 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { "9" => "n", "11.6" => "y", "15" => "y x", "24" => "y" },
                                                                         safari  => { "3.1" => "y x", "9" => "y" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "CSS3 Cursors: zoom-in & zoom-out",
                                                       ucprefix     => 0,
                                                     },
                "css3-tabsize"                    => {
                                                       categories   => ["CSS3"],
                                                       description  => "Method of customizing the width of the tab character. Only effective using 'white-space: pre', 'white-space: pre-wrap', and 'white-space: break-spaces'.",
                                                       keywords     => "tab-size,tab-width",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS tab-size",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/tab-size",
                                                                         },
                                                                         {
                                                                           title => "Firefox bug to unprefix `-moz-tab-size`",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=737785",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial refers to supporting `<integer>` but not `<length>` values.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-text/#tab-size",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "a #1", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a #1" },
                                                                         chrome  => { 4 => "n", 21 => "a #1", 42 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 4 => "a x #1", 53 => "y x", 91 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "13.4-13.7" => "y", "3.2" => "n", "7.0-7.1" => "a #1" },
                                                                         kaios   => { "2.5" => "a x #1" },
                                                                         op_mini => { all => "a x #1" },
                                                                         op_mob  => { 10 => "n", 11 => "a x #1", 80 => "y" },
                                                                         opera   => { "9" => "n", "10.6" => "a x #1", "15" => "a #1", "29" => "y" },
                                                                         safari  => { "3.1" => "n", "6.1" => "a #1", "13.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS3 tab-size",
                                                       ucprefix     => 0,
                                                     },
                "currentcolor"                    => {
                                                       categories => ["CSS"],
                                                       description => "A CSS value that will apply the existing `color` value to other properties like `background-color`, etc. ",
                                                       links => [
                                                         {
                                                           title => "MDN Web Docs - CSS currentColor",
                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#currentColor_keyword",
                                                         },
                                                         {
                                                           title => "CSS Tricks article",
                                                           url => "https://css-tricks.com/currentcolor/",
                                                         },
                                                       ],
                                                       notes_by_num => {},
                                                       spec => "https://www.w3.org/TR/css3-color/#currentcolor",
                                                       stats => {
                                                         and_chr => { "2.1" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "y" },
                                                         chrome  => { 4 => "y" },
                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                         firefox => { 2 => "y" },
                                                         ie_mob  => { 10 => "y" },
                                                         ios_saf => { "3.2" => "u", "4.0-4.1" => "y" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "y" },
                                                         op_mob  => { 10 => "y" },
                                                         opera   => { "9" => "n", "9.5-9.6" => "y" },
                                                         safari  => { "3.1" => "n", "4" => "y" },
                                                         samsung => { 4 => "y" },
                                                       },
                                                       status => "rec",
                                                       title => "CSS currentColor value",
                                                       ucprefix => 0,
                                                     },
                "custom-elements"                 => {
                                                       categories   => ["DOM", "HTML5"],
                                                       chrome_id    => 4642138092470272,
                                                       description  => "Original V0 version of the custom elements specification. See [Custom Elements V1](#feat=custom-elementsv1) for support for the latest version. ",
                                                       keywords     => "document.registerElement",
                                                       links        => [
                                                                         {
                                                                           title => "Blog post on upgrading from V0 to V1",
                                                                           url => "https://developer.chrome.com/blog/web-components-time-to-upgrade/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/2016/WD-custom-elements-20160226/",
                                                       stats        => {
                                                                         and_chr => { "135" => "n", "2.1" => "n", "4.4.3-4.4.4" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 27 => "n d", 33 => "y", 80 => "n" },
                                                                         edge    => { "5.5" => "n", "10" => "p", "79" => "y", "80" => "n" },
                                                                         firefox => { 2 => "n", 23 => "n d", 30 => "p d", 59 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "7.0-7.1" => "p" },
                                                                         kaios   => { "2.5" => "p d", "3.0-3.1" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 15 => "n d", 20 => "y", 67 => "n" },
                                                                         safari  => { "3.1" => "n", "6" => "p" },
                                                                         samsung => { "4" => "y", "13.0" => "n" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Custom Elements (deprecated V0 spec)",
                                                       ucprefix     => 0,
                                                     },
                "custom-elementsv1"               => {
                                                       categories   => ["DOM", "HTML5"],
                                                       chrome_id    => "4696261944934400,4670146924773376",
                                                       description  => "One of the key features of the Web Components system, custom elements allow new HTML tags to be defined.",
                                                       keywords     => "webcomponents,customelements",
                                                       links        => [
                                                                         {
                                                                           title => "Google Developers - Custom elements v1: reusable web components",
                                                                           url => "https://developers.google.com/web/fundamentals/primers/customelements/",
                                                                         },
                                                                         {
                                                                           title => "customElements.define polyfill",
                                                                           url => "https://github.com/webcomponents/polyfills/tree/master/packages/custom-elements",
                                                                         },
                                                                         {
                                                                           title => "WebKit Blog: Introducing Custom Elements",
                                                                           url => "https://webkit.org/blog/7027/introducing-custom-elements/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Supports \"Autonomous custom elements\" but not \"Customized built-in elements\" see [WebKit bug 182671](https://bugs.webkit.org/show_bug.cgi?id=182671).",
                                                                         2 => "Enabled through the `dom.webcomponents.enabled` preference in `about:config`.",
                                                                         3 => "Enabled through the `dom.webcomponents.customelements.enabled` preference in `about:config`.",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/scripting.html#custom-elements",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 52 => "p", 54 => "a #1", 67 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "p", "79" => "y" },
                                                                         firefox => { 2 => "n", 30 => "p", 50 => "p d #2 #1", 59 => "p d #3 #1", 63 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "10.3" => "a #1" },
                                                                         kaios   => { "2.5" => "p", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 41 => "a #1", 64 => "y" },
                                                                         safari  => { "3.1" => "n", "8" => "p", "10.1" => "a #1" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "a #1", "6.2-6.4" => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Custom Elements (V1)",
                                                       ucprefix     => 0,
                                                     },
                "customevent"                     => {
                                                       categories   => ["DOM", "JS API"],
                                                       description  => "A DOM event interface that can carry custom application-defined data.",
                                                       keywords     => "custom events,custom,event",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CustomEvent",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent",
                                                                         },
                                                                         {
                                                                           title => "Polyfill based on the MDN snippet",
                                                                           url => "https://github.com/krambuhl/custom-event-polyfill",
                                                                         },
                                                                         {
                                                                           title => "EventListener polyfill which includes a CustomEvent polyfill",
                                                                           url => "https://github.com/jonathantneal/EventListener",
                                                                         },
                                                                       ],
                                                       notes        => "Not supported in some versions of Android's old WebKit-based WebView.",
                                                       notes_by_num => {
                                                                         1 => "While a `window.CustomEvent` object exists, it cannot be called as a constructor. Instead of `new CustomEvent(...)`, you must use `e = document.createEvent('CustomEvent')` and then `e.initCustomEvent(...)`",
                                                                         2 => "There is no `window.CustomEvent` object, but `document.createEvent('CustomEvent')` still works.",
                                                                       },
                                                       spec         => "https://dom.spec.whatwg.org/#interface-customevent",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "3" => "a #1 #2", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a #1 #2", 10 => "y" },
                                                                         chrome  => { 4 => "n", 5 => "u", 9 => "a #1 #2", 13 => "u", 15 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "a #1", "12" => "y" },
                                                                         firefox => { 2 => "n", 6 => "a #1", 11 => "y" },
                                                                         ie_mob  => { 10 => "a #1" },
                                                                         ios_saf => {
                                                                                      "3.2"     => "u",
                                                                                      "4.0-4.1" => "n",
                                                                                      "4.2-4.3" => "u",
                                                                                      "5.0-5.1" => "a #1 #2",
                                                                                      "6.0-6.1" => "y",
                                                                                    },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "n", 11 => "a #1", 12 => "y" },
                                                                         opera   => { "9" => "n", "11" => "a #1", "11.6" => "y" },
                                                                         safari  => { "3.1" => "n", "5" => "u", "5.1" => "a #1 #2", "6" => "u", "6.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "CustomEvent",
                                                       ucprefix     => 0,
                                                     },
                "datalist"                        => {
                                                       categories   => ["HTML5"],
                                                       chrome_id    => 6090950820495360,
                                                       description  => "Method of setting a list of options for a user to select in a text field, while leaving the ability to enter a custom value.",
                                                       keywords     => "list attribute,input",
                                                       links        => [
                                                                         {
                                                                           title => "Mozilla Hacks article",
                                                                           url => "https://hacks.mozilla.org/2010/11/firefox-4-html5-forms/",
                                                                         },
                                                                         {
                                                                           title => "HTML5 Library including datalist support",
                                                                           url => "https://afarkas.github.io/webshim/demos/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - datalist",
                                                                           url => "https://developer.mozilla.org/en/HTML/Element/datalist",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/html/elements/datalist",
                                                                         },
                                                                         {
                                                                           title => "Eiji Kitamura's options demos & tests",
                                                                           url => "https://demo.agektmr.com/datalist/",
                                                                         },
                                                                         {
                                                                           title => "Minimal Datalist polyfill w/tutorial",
                                                                           url => "https://github.com/thgreasi/datalist-polyfill",
                                                                         },
                                                                         {
                                                                           title => "Minimal and library dependency-free vanilla JavaScript polyfill",
                                                                           url => "https://github.com/mfranzke/datalist-polyfill",
                                                                         },
                                                                       ],
                                                       notes        => "While most commonly used on text fields, datalists can also be used on other input types. IE11 supports the element on `range` fields. Chrome and Opera also support datalists to suggest given values on `range`, `color` and date/time fields. ",
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to [a bug](https://bugs.chromium.org/p/chromium/issues/detail?id=773041) where long lists of items are unscrollable resulting in unselectable options.",
                                                                         2 => "Partial support in IE refers to [significantly buggy behavior](https://web.archive.org/web/20170121011936/http://playground.onereason.eu/2013/04/ie10s-lousy-support-for-datalists/) (IE11+ does send the input and change events upon selection). ",
                                                                         3 => "Partial support refers to no support for datalists on non-text fields (e.g. number, [range](https://bugzilla.mozilla.org/show_bug.cgi?id=841942), [color](https://bugzilla.mozilla.org/show_bug.cgi?id=960984), [date and time](https://bugzilla.mozilla.org/show_bug.cgi?id=1905313)).",
                                                                         4 => "Partial support in Edge refers [to disappearing option elements on focusing the input element via tab](https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/20066595/).",
                                                                         5 => "Supported through WKWebView and Safari but not through UIWebView",
                                                                         6 => "In Firefox, autocomplete must be set to off to make dynamic datalist work due to [a bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1474137)",
                                                                         7 => "Partial support refers to no support for datalists on [date and time](https://bugzilla.mozilla.org/show_bug.cgi?id=1905313) fields.",
                                                                         8 => "If both a value and label are provided for an option iOS will only display the value as suggested selection. (see [bug](https://bugs.webkit.org/show_bug.cgi?id=289668))",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/forms.html#the-datalist-element",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "p", "4.4.3-4.4.4" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "p", 10 => "y" },
                                                                         chrome  => { 4 => "p", 20 => "a #1", 69 => "y" },
                                                                         edge    => { "5.5" => "n", "6" => "p", "10" => "a #2", "16" => "a #2 #4", "79" => "y" },
                                                                         firefox => { 2 => "p", 4 => "a #3 #6", 102 => "a #3", 110 => "a #7" },
                                                                         ie_mob  => { 10 => "p" },
                                                                         ios_saf => { "12.2-12.5" => "a #5 #8", "3.2" => "p" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { 9 => "y", 15 => "a #1", 64 => "y" },
                                                                         safari  => { "3.1" => "p", "12.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Datalist element",
                                                       ucprefix     => 0,
                                                     },
                "dataset"                         => {
                                                       categories   => ["HTML5"],
                                                       description  => "Method of applying and accessing custom data to elements.",
                                                       keywords     => "DOMStringMap",
                                                       links        => [
                                                                         {
                                                                           title => "HTML5 Doctor article",
                                                                           url => "https://html5doctor.com/html5-custom-data-attributes/",
                                                                         },
                                                                         {
                                                                           title => "Demo using dataset",
                                                                           url => "https://html5demos.com/dataset",
                                                                         },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/dom.js#dom-dataset",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/html/attributes/data-*",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - dataset",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement.dataset",
                                                                         },
                                                                         {
                                                                           title => "MDN Guide - Using data-* attributes",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_data_attributes",
                                                                         },
                                                                       ],
                                                       notes        => "Partial support refers to being able to use `data-*` attributes and access them using `getAttribute`. \r\n\r\n\"Supported\" refers to accessing the values using the `dataset` property. Current spec only refers to support on HTML elements, only some browsers also have support for SVG/MathML elements.",
                                                       notes_by_num => {
                                                                         1 => "While the HTML spec doesn't require it, these browsers also support `dataset` and `data-*` attributes on SVG elements, in compliance with [current plans for SVG2](https://www.w3.org/2015/01/15-svg-minutes.html#item03)",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a", "3" => "y #1" },
                                                                         and_ff  => { 137 => "y #1" },
                                                                         and_qq  => { "14.9" => "y #1" },
                                                                         and_uc  => { "15.5" => "y #1" },
                                                                         baidu   => { "13.52" => "y #1" },
                                                                         bb      => { 7 => "y #1" },
                                                                         chrome  => { 4 => "a", 7 => "y #1", 45 => "y", 55 => "y #1" },
                                                                         edge    => { "5.5" => "a", "11" => "y", "17" => "y #1" },
                                                                         firefox => { 2 => "a", 6 => "y", 51 => "y #1" },
                                                                         ie_mob  => { 10 => "a", 11 => "y" },
                                                                         ios_saf => { "3.2" => "a", "5.0-5.1" => "y #1" },
                                                                         kaios   => { "2.5" => "y", "3.0-3.1" => "y #1" },
                                                                         op_mini => { all => "a" },
                                                                         op_mob  => { "10" => "a", "11.1" => "y", "80" => "y #1" },
                                                                         opera   => { "9" => "a", "11.1" => "y", "15" => "y #1", "32" => "y", "42" => "y #1" },
                                                                         safari  => { "3.1" => "a", "5.1" => "y #1" },
                                                                         samsung => { 4 => "y #1" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "dataset & data-* attributes",
                                                       ucprefix     => 0,
                                                     },
                "datauri"                         => {
                                                       categories   => ["Other"],
                                                       description  => "Method of embedding images and other files in webpages as a string of text, generally using base64 encoding.",
                                                       keywords     => "data url,datauris,data uri,dataurl,dataurls,base64",
                                                       links        => [
                                                                         {
                                                                           title => "Information page",
                                                                           url => "https://css-tricks.com/data-uris/",
                                                                         },
                                                                         {
                                                                           title => "Wikipedia",
                                                                           url => "https://en.wikipedia.org/wiki/data_URI_scheme",
                                                                         },
                                                                         {
                                                                           title => "Data URL converter",
                                                                           url => "https://www.websiteoptimization.com/speed/tweak/inline-images/",
                                                                         },
                                                                         {
                                                                           title => "Information on security issues",
                                                                           url => "https://klevjers.com/papers/phishing.pdf",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Support is limited to images and linked resources like CSS files, not HTML or JS files. Max URI length is 32KB.",
                                                                         2 => "Support is limited to images and linked resources like CSS or JS, not HTML files. Maximum size limit is 4GB.",
                                                                         3 => "SVGs with XML declarations are not displayed when used in data-urls",
                                                                       },
                                                       spec         => "https://tools.ietf.org/html/rfc2397",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => {
                                                                                      "5.5" => "n",
                                                                                      "8"   => "a #1",
                                                                                      "9"   => "a #2",
                                                                                      "14"  => "a #2 #3",
                                                                                      "15"  => "a #2",
                                                                                      "79"  => "y",
                                                                                    },
                                                                         firefox => { 2 => "y" },
                                                                         ie_mob  => { 10 => "a #2" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { 9 => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Data URIs",
                                                       ucprefix     => 0,
                                                     },
                "date-tolocaledatestring"         => {
                                                       categories => ["JS"],
                                                       description => "Date method to generate a language sensitive representation of a given date, formatted based on a specified locale and options.",
                                                       links => [
                                                         {
                                                           title => "MDN article on  Date\x{200B}.prototype\x{200B}.toLocale\x{200B}Date\x{200B}String()",
                                                           url => "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString",
                                                         },
                                                       ],
                                                       notes_by_num => {
                                                         1 => "Does not support the `locale` or `options` parameters",
                                                         2 => "Does not support all locales correctly",
                                                         3 => "Does not support the `timeZone` option ",
                                                       },
                                                       spec => "https://tc39.es/ecma402/#sup-date.prototype.tolocaledatestring",
                                                       stats => {
                                                         and_chr => { "2.1" => "u", "4" => "a #1", "4.4" => "a #2 #3", "135" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "a #1" },
                                                         chrome  => { 4 => "a #1", 24 => "a #2 #3", 38 => "a #2", 70 => "y" },
                                                         edge    => { "5.5" => "u", "6" => "a #1", "18" => "y" },
                                                         firefox => { 2 => "a #1", 29 => "a #2 #3", 52 => "a #2", 56 => "y" },
                                                         ie_mob  => { 10 => "a #1" },
                                                         ios_saf => { "10.3" => "y", "3.2" => "u", "6.0-6.1" => "a #1" },
                                                         kaios   => { "2.5" => "a #1", "3.0-3.1" => "y" },
                                                         op_mini => { all => "a #1" },
                                                         op_mob  => { "10" => "u", "12.1" => "a #1", "80" => "y" },
                                                         opera   => { "9" => "u", "12.1" => "a #1", "15" => "a #2 #3", "25" => "a #2", "57" => "y" },
                                                         safari  => { "3.1" => "u", "5.1" => "a #1", "10.1" => "a #2", "12" => "y" },
                                                         samsung => { "4" => "a #2", "9.2" => "y" },
                                                       },
                                                       status => "other",
                                                       title => "Date.prototype.toLocaleDateString",
                                                       ucprefix => 0,
                                                     },
                "declarative-shadow-dom"          => {
                                                       categories   => ["DOM"],
                                                       chrome_id    => 5191745052606464,
                                                       description  => "Proposal to allow rendering elements with shadow dom (aka web components) using server-side rendering.",
                                                       links        => [
                                                                         {
                                                                           title => "Declarative Shadow DOM - web.dev article",
                                                                           url => "https://web.dev/declarative-shadow-dom/",
                                                                         },
                                                                         {
                                                                           title => "A ponyfill of the Declarative Shadow DOM API",
                                                                           url => "https://www.npmjs.com/package/\@webcomponents/template-shadowroot",
                                                                         },
                                                                         {
                                                                           title => "WebKit support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=249513",
                                                                         },
                                                                         {
                                                                           title => "Firefox implementation bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1712140",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Uses an older non-standard attribute called `shadowroot` instead of the standardized `shadowrootmode` attribute",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/scripting.html#attr-template-shadowrootmode",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 85 => "n d", 90 => "a #1", 111 => "y" },
                                                                         edge    => { "5.5" => "n", "91" => "a #1", "111" => "y" },
                                                                         firefox => { 2 => "n", 123 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "16.4" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 77 => "a #1", 97 => "y" },
                                                                         safari  => { "3.1" => "n", "16.4" => "y" },
                                                                         samsung => { "4" => "n", "15.0" => "u", "16.0" => "a #1", "22" => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Declarative Shadow DOM",
                                                       ucprefix     => 0,
                                                     },
                "decorators"                      => {
                                                       categories   => ["JS"],
                                                       description  => "ECMAScript Decorators are an in-progress proposal for extending JavaScript classes. Decorators use a special syntax, prefixed with an `\@` symbol and placed immediately before the code being extended.",
                                                       keywords     => "decorators,JavaScript Class and Property Decorators",
                                                       links        => [
                                                                         {
                                                                           title => "JavaScript Decorators: What They Are and When to Use Them",
                                                                           url => "https://www.sitepoint.com/javascript-decorators-what-they-are/",
                                                                         },
                                                                         {
                                                                           title => "A minimal guide to JavaScript (ECMAScript) Decorators and Property Descriptor of the Object",
                                                                           url => "https://medium.com/jspoint/a-minimal-guide-to-ecmascript-decorators-55b70338215e",
                                                                         },
                                                                         {
                                                                           title => "Decorators in TypeScript",
                                                                           url => "https://www.typescriptlang.org/docs/handbook/decorators.html",
                                                                         },
                                                                         {
                                                                           title => "Babel plug-in for decorators",
                                                                           url => "https://babeljs.io/docs/en/babel-plugin-proposal-decorators",
                                                                         },
                                                                         {
                                                                           title => "Bug on Firefox support",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1781212",
                                                                         },
                                                                       ],
                                                       notes        => "While not yet supported natively in browsers, decorators are supported by a number of transpiler tools. ",
                                                       notes_by_num => {},
                                                       spec         => "https://github.com/tc39/proposal-decorators",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n" },
                                                                         edge    => { "5.5" => "n" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Decorators",
                                                       ucprefix     => 0,
                                                     },
                "details"                         => {
                                                       categories   => ["HTML5"],
                                                       chrome_id    => 5348024557502464,
                                                       description  => "The <details> element generates a simple no-JavaScript widget to show/hide element contents, optionally by clicking on its child <summary> element.",
                                                       links        => [
                                                                         {
                                                                           title => "jQuery fallback script",
                                                                           url => "https://mathiasbynens.be/notes/html5-details-jquery",
                                                                         },
                                                                         { title => "Fallback script", url => "https://gist.github.com/370590" },
                                                                         {
                                                                           title => "HTML5 Doctor article",
                                                                           url => "https://html5doctor.com/summary-figcaption-element/",
                                                                         },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-details",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/html/elements/details",
                                                                         },
                                                                         {
                                                                           title => "Bug on Firefox support",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=591737",
                                                                         },
                                                                         {
                                                                           title => "Details Element Polyfill",
                                                                           url => "https://github.com/javan/details-element-polyfill",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Enabled in Firefox through the `dom.details_element.enabled` flag",
                                                                         2 => "'toggle' event is not supported",
                                                                         3 => "<summary> is not keyboard accessible",
                                                                         4 => "Some versions of Safari display smaller font-size than intended when using `rem` units with system fonts. (See: https://colloq.io/blog/safaris-detailssummary-rem-font-size-issue)",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/forms.html#the-details-element",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "p", "4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "p", 10 => "y" },
                                                                         chrome  => { 4 => "p", 12 => "y #2 #3", 19 => "y #2", 36 => "y" },
                                                                         edge    => { "5.5" => "n", "6" => "p", "9" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 3 => "p", 47 => "n d #1", 49 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.0-10.2" => "y #4", "11.3-11.4" => "y", "3.2" => "p", "6.0-6.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "p" },
                                                                         op_mob  => { 10 => "p", 80 => "y" },
                                                                         opera   => { "9" => "p", "11.1" => "n", "15" => "y" },
                                                                         safari  => { "3.1" => "p", "6" => "y #2", "10.1" => "y #4", "12" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Details & Summary elements",
                                                       ucprefix     => 0,
                                                     },
                "deviceorientation"               => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => "5874690627207168,5556931766779904",
                                                       description  => "API for detecting orientation and motion events from the device running the browser.",
                                                       keywords     => "ondeviceorientation,ondevicemotion",
                                                       links        => [
                                                                         {
                                                                           title => "HTML5 Rocks tutorial",
                                                                           url => "https://www.html5rocks.com/en/tutorials/device/orientation/",
                                                                         },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-orientation",
                                                                         },
                                                                         {
                                                                           title => "DeviceOrientation implementation prototype for IE10",
                                                                           url => "http://html5labs.interoperabilitybridges.com/prototypes/device-orientation-events/device-orientation-events/info",
                                                                         },
                                                                         {
                                                                           title => "Demo",
                                                                           url => "https://audero.it/demo/device-orientation-api-demo.html",
                                                                         },
                                                                       ],
                                                       notes        => "Partial support refers to the lack of compassneedscalibration event. Partial support also refers to the lack of devicemotion event support for Chrome 30- and Opera. Opera Mobile 14 lost the ondevicemotion event support. Firefox 3.6, 4 and 5 support the non-standard [MozOrientation](https://developer.mozilla.org/en/DOM/MozOrientation) event.",
                                                       notes_by_num => {
                                                                         1 => "`compassneedscalibration` supported in IE11 only for compatible devices with Windows 8.1+.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/orientation-event/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "3" => "a" },
                                                                         and_ff  => { 137 => "a" },
                                                                         and_qq  => { "14.9" => "a" },
                                                                         and_uc  => { "15.5" => "a" },
                                                                         baidu   => { "13.52" => "a" },
                                                                         bb      => { 7 => "n", 10 => "a" },
                                                                         chrome  => { 4 => "n", 7 => "a" },
                                                                         edge    => { "5.5" => "n", "11" => "a #1", "12" => "y", "79" => "a" },
                                                                         firefox => { "2" => "n", "3.6" => "p", "6" => "a" },
                                                                         ie_mob  => { 10 => "n", 11 => "y" },
                                                                         ios_saf => { "3.2" => "n", "4.2-4.3" => "a" },
                                                                         kaios   => { "2.5" => "a" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 12 => "y", 80 => "a" },
                                                                         opera   => { 9 => "n", 15 => "a" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "a" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "DeviceOrientation & DeviceMotion events",
                                                       ucprefix     => 0,
                                                     },
                "devicepixelratio"                => {
                                                       categories   => ["CSS", "DOM"],
                                                       description  => "Read-only property that returns the ratio of the (vertical) size of one physical pixel on the current display device to the size of one CSS pixel.",
                                                       keywords     => "device,pixel,ratio,size",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - devicePixelRatio",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio",
                                                                         },
                                                                       ],
                                                       notes        => "As the page is zoomed in the number of device pixels that one CSS pixel covers increases, and therefore the value of devicePixelRatio will also increase.",
                                                       notes_by_num => {},
                                                       spec         => "https://w3c.github.io/csswg-drafts/cssom-view/#dom-window-devicepixelratio",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "11" => "y" },
                                                                         firefox => { 2 => "n", 18 => "y" },
                                                                         ie_mob  => { 10 => "n", 11 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "n", 12 => "y" },
                                                                         opera   => { "9" => "n", "11.6" => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Window.devicePixelRatio",
                                                       ucprefix     => 0,
                                                     },
                "dialog"                          => {
                                                       categories   => ["DOM", "HTML5"],
                                                       chrome_id    => 5770237022568448,
                                                       description  => "Method of easily creating custom dialog boxes to display to the user with modal or non-modal options. Also includes a `::backdrop` pseudo-element for behind the element.",
                                                       keywords     => "HTMLDialogElement,showModal,backdrop",
                                                       links        => [
                                                                         {
                                                                           title => "Polyfill",
                                                                           url => "https://github.com/GoogleChrome/dialog-polyfill",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Supported in Firefox by enabling `dom.dialog_element.enabled` in `about:config`",
                                                                         2 => "Enabled through the \"Experimental Web Platform features\" flag in `chrome://flags`",
                                                                         3 => "Enabled through the \"Experimental Web Platform features\" flag in `opera://flags`",
                                                                         4 => "Enabled by default in Firefox Nightly only",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/forms.html#the-dialog-element",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 32 => "n d #2", 37 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 53 => "n d #1", 80 => "n d #1 #4", 98 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "15.4" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 19 => "n d #3", 24 => "y" },
                                                                         safari  => { "3.1" => "n", "15.4" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Dialog element",
                                                       ucprefix     => 0,
                                                     },
                "dispatchevent"                   => {
                                                       categories   => ["DOM"],
                                                       description  => "Method to programmatically trigger a DOM event.",
                                                       keywords     => "dispatch,event,target,fire,trigger,dom",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - dispatchEvent",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/dispatchEvent",
                                                                         },
                                                                         {
                                                                           title => "Financial Times IE8 polyfill",
                                                                           url => "https://github.com/Financial-Times/polyfill-service/blob/master/polyfills/Event/polyfill-ie8.js",
                                                                         },
                                                                         {
                                                                           title => "WebReflection ie8 polyfill",
                                                                           url => "https://github.com/WebReflection/ie8",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Supports Microsoft's proprietary [`EventTarget.fireEvent() method`](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/fireEvent).",
                                                                       },
                                                       spec         => "https://dom.spec.whatwg.org/#dom-eventtarget-dispatchevent",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "u", "6" => "n #1", "9" => "y #1", "11" => "y" },
                                                                         firefox => { 2 => "y" },
                                                                         ie_mob  => { 10 => "y #1", 11 => "y" },
                                                                         ios_saf => { "3.2" => "u", "4.0-4.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { "9" => "u", "9.5-9.6" => "y" },
                                                                         safari  => { "3.1" => "u", "3.2" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "EventTarget.dispatchEvent",
                                                       ucprefix     => 0,
                                                     },
                "dnssec"                          => {
                                                       categories   => ["Security"],
                                                       description  => "Method of validating a DNS response against a trusted root server. Mitigates various attacks that could reroute a user to a fake site while showing the real URL for the original site.",
                                                       keywords     => "DNS Security Extensions,Domain Name System Security Extensions,DNS based Authentication of Named Entities,TLSA",
                                                       links        => [
                                                                         {
                                                                           title => "Wikipedia - DNSSEC",
                                                                           url => "https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions",
                                                                         },
                                                                         {
                                                                           title => "Chrome implementation bug",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=50874",
                                                                         },
                                                                         {
                                                                           title => "Firefox implementation bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=672600",
                                                                         },
                                                                       ],
                                                       notes        => "Browsers have generally decided to not implement DNSSEC validation because the added complexity outweighs the improvements to the browser. DNSSEC is still useful as it is widely used to protect delivery of records between DNS servers, only failing to protect the delivery from the last DNS server to the browser.\r\n\r\n[Certificate transparency](https://developer.mozilla.org/en-US/docs/Web/Security/Certificate_Transparency) is widely used and tries to provide the same security as DNSSEC but by very different means.",
                                                       notes_by_num => {
                                                                         1 => "Does not support DNSSEC but still benefits greatly from it, as most of the security improvements are gained in the DNS-network and not in the browser.",
                                                                         2 => "Early versions of Chrome [experimented](https://www.imperialviolet.org/2011/06/16/dnssecchrome.html) with browser-level validation.",
                                                                       },
                                                       spec         => "https://tools.ietf.org/html/rfc4033",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a #1" },
                                                                         and_ff  => { 137 => "a #1" },
                                                                         and_qq  => { "14.9" => "a #1" },
                                                                         and_uc  => { "15.5" => "a #1" },
                                                                         baidu   => { "13.52" => "a #1" },
                                                                         bb      => { 7 => "a #1" },
                                                                         chrome  => { 4 => "a #1", 6 => "a #1 #2", 31 => "a #1" },
                                                                         edge    => { "5.5" => "a #1" },
                                                                         firefox => { 2 => "a #1" },
                                                                         ie_mob  => { 10 => "a #1" },
                                                                         ios_saf => { "3.2" => "a #1" },
                                                                         kaios   => { "2.5" => "a #1" },
                                                                         op_mini => { all => "a #1" },
                                                                         op_mob  => { 10 => "a #1" },
                                                                         opera   => { 9 => "a #1" },
                                                                         safari  => { "3.1" => "a #1" },
                                                                         samsung => { 4 => "a #1" },
                                                                       },
                                                       status       => "other",
                                                       title        => "DNSSEC and DANE",
                                                       ucprefix     => 0,
                                                     },
                "do-not-track"                    => {
                                                       categories   => ["JS API"],
                                                       description  => "API to allow the browser's Do Not Track setting to be queried via `navigator.doNotTrack`. Due to lack of adoption the Do Not Track specification was deprecated in 2018.",
                                                       keywords     => "DNT",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - doNotTrack",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Navigator/doNotTrack",
                                                                         },
                                                                       ],
                                                       notes        => "Partial support refers to the doNotTrack field being misnamed, or being attached to an object other than `navigator` (e.g. `window`).",
                                                       notes_by_num => {
                                                                         1 => "IE 9 and 10 are vendor-prefixed as `navigator.msDoNotTrack`",
                                                                         2 => "IE 11 and Edge 16- use `window.doNotTrack` instead of `navigator.doNotTrack`.",
                                                                         3 => "Browsers based on Gecko versions prior to 32 used 'yes' and 'no' rather than '1' and '0'.",
                                                                         4 => "Between versions 6.1.1 and 9.1.3, Safari supported an ultimately-rejected amendment to the spec, using `window.doNotTrack` rather than `navigator.doNotTrack`.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/tracking-dnt/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "u", 10 => "a #4" },
                                                                         chrome  => { 4 => "n", 23 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "a x #1", "11" => "a #2", "17" => "y" },
                                                                         firefox => { 2 => "n", 9 => "a #3", 32 => "y" },
                                                                         ie_mob  => { 10 => "a x #1", 11 => "a #2" },
                                                                         ios_saf => { "12.2-12.5" => "n", "3.2" => "n", "7.0-7.1" => "a #4", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { "10" => "u", "12.1" => "y" },
                                                                         opera   => { 9 => "n", 12 => "y" },
                                                                         safari  => { "3.1" => "n", "5.1" => "y", "6.1" => "a #4", "9.1" => "y", "12.1" => "n" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Do Not Track API",
                                                       ucprefix     => 0,
                                                     },
                "document-currentscript"          => {
                                                       categories => ["JS API"],
                                                       description => "`document.currentScript` returns the `<script>` element whose script is currently being processed.",
                                                       links => [
                                                         {
                                                           title => "Polyfill (IE 6-10 only)",
                                                           url => "https://github.com/JamesMGreene/document.currentScript",
                                                         },
                                                       ],
                                                       notes_by_num => {},
                                                       spec => "https://html.spec.whatwg.org/multipage/dom.html#dom-document-currentscript",
                                                       stats => {
                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "n" },
                                                         chrome  => { 4 => "n", 29 => "y" },
                                                         edge    => { "5.5" => "n", "12" => "y" },
                                                         firefox => { 2 => "n", 4 => "y" },
                                                         ie_mob  => { 10 => "n" },
                                                         ios_saf => { "3.2" => "n", "8" => "y" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                         opera   => { 9 => "n", 16 => "y" },
                                                         safari  => { "3.1" => "n", "8" => "y" },
                                                         samsung => { 4 => "y" },
                                                       },
                                                       status => "ls",
                                                       title => "document.currentScript",
                                                       ucprefix => 0,
                                                     },
                "document-evaluate-xpath"         => {
                                                       categories   => ["DOM", "JS API"],
                                                       description  => "Allow nodes in an XML/HTML document to be traversed using XPath expressions. ",
                                                       keywords     => "dom l3 xpath,dom level 3",
                                                       links        => [
                                                                         {
                                                                           title => "XPath in Javascript: Introduction",
                                                                           url => "https://timkadlec.com/2008/02/xpath-in-javascript-introduction/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - XPath introduction",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Introduction_to_using_XPath_in_JavaScript",
                                                                         },
                                                                         {
                                                                           title => "Edge team article on implementation",
                                                                           url => "https://blogs.windows.com/msedgedev/2015/03/19/improving-interoperability-with-dom-l3-xpath/",
                                                                         },
                                                                         {
                                                                           title => "DOM XPath - WHATWG Wiki",
                                                                           url => "https://wiki.whatwg.org/wiki/DOM_XPath",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator-evaluate",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "y" },
                                                                         firefox => { 2 => "u", 3 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { "9" => "u", "9.5-9.6" => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "document.evaluate & XPath",
                                                       ucprefix     => 0,
                                                     },
                "document-execcommand"            => {
                                                       categories   => ["JS API"],
                                                       description  => "Allows running commands to manipulate the contents of an editable region in a document switched to designMode",
                                                       keywords     => "document,text,editor,commands,designMode",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - execCommand",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand",
                                                                         },
                                                                         {
                                                                           title => "execCommand and queryCommandSupported demo",
                                                                           url => "https://codepen.io/netsi1964/pen/QbLLGW",
                                                                         },
                                                                       ],
                                                       notes        => "To determine what commands are supported, see `Document.queryCommandSupported()`",
                                                       notes_by_num => {},
                                                       spec         => "https://w3c.github.io/editing/execCommand.html#execcommand()",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "y" },
                                                                         firefox => { 2 => "n", 9 => "y" },
                                                                         ie_mob  => { 10 => "n", 11 => "y" },
                                                                         ios_saf => { "3.2" => "n", "4.2-4.3" => "u", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { "10.0-10.1" => "y", "9" => "u" },
                                                                         safari  => { "3.1" => "u", "6" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Document.execCommand()",
                                                       ucprefix     => 0,
                                                     },
                "document-policy"                 => {
                                                       categories   => ["Other", "Security"],
                                                       chrome_id    => "5645593894453248,5756689661820928",
                                                       description  => "A mechanism that allows developers to set certain rules and policies for a given site. The rules can change default browser behaviour, block certain features or set limits on resource usage. Document Policy is useful both for security and performance, and is similar to [Permissions Policy](/permissions-policy).",
                                                       keywords     => "feature,security,header,policy,attribute,policy attribute,attribute policy,feature-policy,feature policy,document-policy,force-load-at-top",
                                                       links        => [
                                                                         {
                                                                           title => "Firefox position: non-harmful",
                                                                           url => "https://mozilla.github.io/standards-positions/#document-policy",
                                                                         },
                                                                         {
                                                                           title => "Chromium tracking bug for new policies",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=993790",
                                                                         },
                                                                         {
                                                                           title => "WICG - Document Policy Explainer",
                                                                           url => "https://github.com/WICG/document-policy/blob/main/document-policy-explainer.md",
                                                                         },
                                                                       ],
                                                       notes        => "Standard support includes the HTTP `Document-Policy` header and `policy` attribute on iframes.",
                                                       notes_by_num => { 1 => "Chromium browsers only support the HTTP header." },
                                                       spec         => "https://wicg.github.io/document-policy/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "a #1" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "a #1" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 85 => "a #1" },
                                                                         edge    => { "5.5" => "n", "85" => "a #1" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "a #1" },
                                                                         opera   => { 9 => "n", 71 => "a #1" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Document Policy",
                                                       ucprefix     => 0,
                                                     },
                "document-scrollingelement"       => {
                                                       categories => ["DOM"],
                                                       description => "`document.scrollingElement` refers to the element that scrolls the document.",
                                                       links => [
                                                         {
                                                           title => "Polyfill",
                                                           url => "https://github.com/mathiasbynens/document.scrollingElement",
                                                         },
                                                         {
                                                           title => "MDN on scrollingElement",
                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Document/scrollingElement",
                                                         },
                                                       ],
                                                       notes_by_num => {},
                                                       spec => "https://w3c.github.io/csswg-drafts/cssom-view/#dom-document-scrollingelement",
                                                       stats => {
                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "n" },
                                                         chrome  => { 4 => "n", 44 => "y" },
                                                         edge    => { "5.5" => "n", "12" => "u", "14" => "y" },
                                                         firefox => { 2 => "n", 48 => "y" },
                                                         ie_mob  => { 10 => "n" },
                                                         ios_saf => { "3.2" => "n", "9.0-9.2" => "y" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                         opera   => { 9 => "n", 31 => "y" },
                                                         safari  => { "3.1" => "n", "9" => "y" },
                                                         samsung => { 4 => "y" },
                                                       },
                                                       status => "wd",
                                                       title => "document.scrollingElement",
                                                       ucprefix => 0,
                                                     },
                "documenthead"                    => {
                                                       categories   => ["DOM"],
                                                       description  => "Convenience property for accessing the `<head>` element",
                                                       keywords     => "document,head",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - head",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Document/head",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/#dom-document-head",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                                         firefox => { 2 => "n", 4 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "u", "4.0-4.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "n", 11 => "y" },
                                                                         opera   => { 9 => "n", 11 => "y" },
                                                                         safari  => { "3.1" => "n", "5" => "u", "5.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "document.head",
                                                       ucprefix     => 0,
                                                     },
                "dom-manip-convenience"           => {
                                                       categories   => ["DOM"],
                                                       chrome_id    => 5723067795898368,
                                                       description  => "jQuery-like methods on DOM nodes to insert nodes around or within a node, or to replace one node with another. These methods accept any number of DOM nodes or HTML strings as arguments. Includes: `ChildNode.before`, `ChildNode.after`, `ChildNode.replaceWith`, `ParentNode.prepend`, and `ParentNode.append`.",
                                                       keywords     => "dom,manipulation,convenience,convenient,before,after,replaceWith,prepend,append",
                                                       links        => [
                                                                         {
                                                                           title => "WHATWG DOM Specification for ChildNode",
                                                                           url => "https://dom.spec.whatwg.org/#interface-childnode",
                                                                         },
                                                                         {
                                                                           title => "WHATWG DOM Specification for ParentNode",
                                                                           url => "https://dom.spec.whatwg.org/#interface-parentnode",
                                                                         },
                                                                         {
                                                                           title => "JS Bin testcase",
                                                                           url => "https://jsbin.com/fiqacod/edit?html,js,output",
                                                                         },
                                                                         {
                                                                           title => "DOM4 polyfill",
                                                                           url => "https://github.com/WebReflection/dom4",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Enabled through the \"Enable Experimental Web Platform Features\" flag in chrome://flags",
                                                                       },
                                                       spec         => "https://dom.spec.whatwg.org/#interface-childnode",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 52 => "n d #1", 54 => "y" },
                                                                         edge    => { "5.5" => "n", "17" => "y" },
                                                                         firefox => { 2 => "n", 49 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.0-10.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 40 => "n d #1", 41 => "y" },
                                                                         safari  => { "3.1" => "n", "10" => "y" },
                                                                         samsung => { "4" => "n", "6.2-6.4" => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "DOM manipulation convenience methods",
                                                       ucprefix     => 0,
                                                     },
                "dom-range"                       => {
                                                       categories   => ["DOM", "JS API"],
                                                       description  => "A contiguous range of content in a Document, DocumentFragment or Attr",
                                                       keywords     => "DOM,range,selection",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Range",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Range",
                                                                         },
                                                                         {
                                                                           title => "QuirksMode",
                                                                           url => "https://www.quirksmode.org/dom/range_intro.html",
                                                                         },
                                                                         {
                                                                           title => "\"Rangy\" Range library with old IE support",
                                                                           url => "https://github.com/timdown/rangy",
                                                                         },
                                                                       ],
                                                       notes        => "See [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Range) for feature support details",
                                                       notes_by_num => {},
                                                       spec         => "https://dom.spec.whatwg.org/#ranges",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "6" => "p", "9" => "y" },
                                                                         firefox => { 2 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { 9 => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Document Object Model Range",
                                                       ucprefix     => 0,
                                                     },
                "domcontentloaded"                => {
                                                       categories   => ["DOM"],
                                                       description  => "JavaScript event that fires when the DOM is loaded, but before all page assets are loaded (CSS, images, etc.).",
                                                       keywords     => "dom,domready,onload,contentloaded,document",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - DOMContentLoaded",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/Reference/Events/DOMContentLoaded",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/syntax.html#stop-parsing",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                                         firefox => { 2 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { 9 => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "DOMContentLoaded",
                                                       ucprefix     => 0,
                                                     },
                "dommatrix"                       => {
                                                       categories   => ["DOM"],
                                                       description  => "The `DOMMatrix` interface represents 4x4 matrices, suitable for 2D and 3D operations. Supersedes the `WebKitCSSMatrix` and `SVGMatrix` interfaces.",
                                                       keywords     => "matrix,WebKitCSSMatrix,MSCSSMatrix,CSSMatrix,DOMMatrix,DOMMatrixReadOnly",
                                                       links        => [
                                                                         {
                                                                           title => "WebKitCSSMatrix API Reference",
                                                                           url => "https://developer.apple.com/reference/webkitjs/webkitcssmatrix",
                                                                         },
                                                                         {
                                                                           title => "WebKitCSSMatrix in Compatibility Standard",
                                                                           url => "https://compat.spec.whatwg.org/#webkitcssmatrix-interface",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - DOMMatrix",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/DOMMatrix",
                                                                         },
                                                                         {
                                                                           title => "Chrome implementation bug",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=581955",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Only supports the `WebKitCSSMatrix` version of the interface, not `DOMMatrix`",
                                                                         2 => "`WebKitCSSMatrix#skewX`, `WebKitCSSMatrix#skewY` are not supported",
                                                                         3 => "Only supports the `DOMMatrix` version of the interface, not `WebKitCSSMatrix` (support required by spec for legacy reasons)",
                                                                         4 => "Only replaces `WebkitCSSMatrix` and not `SVGMatrix`",
                                                                         5 => "Does not support `fromMatrix()`, `fromFloat32Array()`, `fromFloat64Array()`, and `toJSON()` methods",
                                                                       },
                                                       spec         => "https://drafts.fxtf.org/geometry/#dommatrix",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a x #2", "4" => "a #1", "135" => "a #4" },
                                                                         and_ff  => { 137 => "a #4" },
                                                                         and_qq  => { "14.9" => "a #4" },
                                                                         and_uc  => { "15.5" => "a #4" },
                                                                         baidu   => { "13.52" => "a #4" },
                                                                         bb      => { 7 => "u", 10 => "a #1" },
                                                                         chrome  => { 4 => "u", 8 => "a #1 #2", 9 => "a #1", 61 => "a #4" },
                                                                         edge    => { "5.5" => "n", "10" => "a #1", "79" => "a #4" },
                                                                         firefox => { 2 => "n", 33 => "a #3 #5", 49 => "a #4 #5", 69 => "a #4" },
                                                                         ie_mob  => { 10 => "a #1" },
                                                                         ios_saf => { "11.0-11.2" => "a #4", "3.2" => "u", "5.0-5.1" => "a #1" },
                                                                         kaios   => { "2.5" => "a #3 #5", "3.0-3.1" => "a #4" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "a #4" },
                                                                         opera   => { 9 => "n", 15 => "a #1", 48 => "a #4" },
                                                                         safari  => { "3.1" => "u", "5" => "a #1", "11" => "a #4" },
                                                                         samsung => { 4 => "a #1" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "DOMMatrix",
                                                       ucprefix     => 0,
                                                     },
                "download"                        => {
                                                       categories   => ["HTML5"],
                                                       chrome_id    => 6473924464345088,
                                                       description  => "When used on an anchor, this attribute signifies that the browser should download the resource the anchor points to rather than navigate to it.",
                                                       keywords     => "download,a.download,a[download],download attribute",
                                                       links        => [
                                                                         {
                                                                           title => "HTML5Rocks post",
                                                                           url => "https://updates.html5rocks.com/2011/08/Downloading-resources-in-HTML5-a-download",
                                                                         },
                                                                         {
                                                                           title => "IE11 polyfill",
                                                                           url => "https://github.com/jelmerdemaat/dwnld-attr-polyfill",
                                                                         },
                                                                         {
                                                                           title => "Download attribute on MDN",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-download",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/semantics.html#downloading-resources",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 14 => "y" },
                                                                         edge    => { "5.5" => "n", "13" => "y" },
                                                                         firefox => { 2 => "n", 20 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "13.0-13.1" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "10.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Download attribute",
                                                       ucprefix     => 0,
                                                     },
                "dragndrop"                       => {
                                                       categories   => ["HTML5"],
                                                       description  => "Method of easily dragging and dropping elements on a page, requiring minimal JavaScript.",
                                                       keywords     => "draganddrop, draggable",
                                                       links        => [
                                                                         {
                                                                           title => "HTML5 Doctor article",
                                                                           url => "https://html5doctor.com/native-drag-and-drop/",
                                                                         },
                                                                         {
                                                                           title => "Shopping cart demo",
                                                                           url => "https://nettutsplus.s3.amazonaws.com/64_html5dragdrop/demo/index.html",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/dom/DragEvent",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for setDragImage in IE",
                                                                           url => "https://github.com/MihaiValentin/setDragImage-IE",
                                                                         },
                                                                         {
                                                                           title => "iOS/Android shim for HTML 5 drag'n'drop",
                                                                           url => "https://github.com/timruffles/ios-html5-drag-drop-shim",
                                                                         },
                                                                       ],
                                                       notes        => "`dataTransfer.items` only supported by Chrome.\r\n\r\nCurrently no browser supports the `dropzone` attribute.\r\n\r\nFirefox supports any kind of DOM elements for `.setDragImage`. Chrome must have either an `HTMLImageElement` or any kind of DOM Element attached to the DOM _and within the viewport_ of the browser for `.setDragImage`.",
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to no support for the `dataTransfer.files` or `.types` objects",
                                                                         2 => "Partial support refers to not supporting `.setDragImage`",
                                                                         3 => "Partial support refers to limited supported formats for `dataTransfer.setData`/`getData`.",
                                                                         4 => "Not supported in Chromium browsers on Android 6 or older.",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/interaction.html#dnd",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y #4" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y #4" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "a #1 #3", "10" => "a #2 #3", "12" => "a #2", "18" => "y" },
                                                                         firefox => { "2" => "p", "3.5" => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "15.0-15.1" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "p", "12.1" => "y", "80" => "y #4" },
                                                                         opera   => { 9 => "p", 12 => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Drag and Drop",
                                                       ucprefix     => 0,
                                                     },
                "element-closest"                 => {
                                                       categories   => ["DOM"],
                                                       description  => "DOM method that returns the current element if it matches the given selector, or else the closest ancestor element that matches the given selector, or else null.",
                                                       keywords     => "element,closest,dom",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - closest",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Element/closest",
                                                                         },
                                                                         {
                                                                           title => "Polyfill",
                                                                           url => "https://github.com/jonathantneal/closest",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://dom.spec.whatwg.org/#dom-element-closest",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 41 => "y" },
                                                                         edge    => { "5.5" => "n", "15" => "y" },
                                                                         firefox => { 2 => "n", 35 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 28 => "y" },
                                                                         safari  => { "3.1" => "n", "9" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Element.closest()",
                                                       ucprefix     => 0,
                                                     },
                "element-from-point"              => {
                                                       categories   => ["DOM"],
                                                       description  => "Given coordinates for a point relative to the viewport, returns the element that a click event would be dispatched at if the user were to click the point (in other words, the element that hit-testing would find).",
                                                       keywords     => "document,elementFromPoint,element,from,point",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - elementFromPoint",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Document/elementFromPoint",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/cssom-view-1/#dom-document-elementfrompoint",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "u", 15 => "y" },
                                                                         edge    => { "5.5" => "u", "6" => "y" },
                                                                         firefox => { 2 => "u", 3 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "u", "4.0-4.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "u", 12 => "y" },
                                                                         opera   => { 9 => "u", 11 => "y" },
                                                                         safari  => { "3.1" => "u", "5" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "document.elementFromPoint()",
                                                       ucprefix     => 0,
                                                     },
                "element-scroll-methods"          => {
                                                       categories   => ["DOM", "JS API"],
                                                       description  => "Methods to change the scroll position of an element. Similar to setting `scrollTop` & `scrollLeft` properties, but also allows options to be passed to define the scroll behavior.",
                                                       keywords     => "element.prototype.scroll,element.prototype.scrollTo,element.prototype.scrollBy",
                                                       links        => [
                                                                         {
                                                                           title => "MDN article on scrollTo",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollTo",
                                                                         },
                                                                         {
                                                                           title => "MDN article on scrollBy",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollBy",
                                                                         },
                                                                       ],
                                                       notes        => "See also the support for the [`scrollIntoView` method](/#feat=scrollintoview).",
                                                       notes_by_num => { 1 => "Does not support the `smooth` behavior option." },
                                                       spec         => "https://www.w3.org/TR/cssom-view-1/#extension-to-the-element-interface",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 61 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 36 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.0-10.2" => "a #1", "14.5-14.8" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 48 => "y" },
                                                                         safari  => { "3.1" => "n", "10" => "a #1", "14" => "y" },
                                                                         samsung => { "4" => "n", "8.2" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Scroll methods on elements (scroll, scrollTo, scrollBy)",
                                                       ucprefix     => 0,
                                                     },
                "eme"                             => {
                                                       categories   => ["JS API", "Security"],
                                                       chrome_id    => 6578378068983808,
                                                       description  => "The EncryptedMediaExtenstions API provides interfaces for controlling the playback of content which is subject to a DRM scheme.",
                                                       keywords     => "requestMediaKeySystemAccess,createMediaKeys",
                                                       links        => [
                                                                         {
                                                                           title => "HTML5rocks article",
                                                                           url => "https://www.html5rocks.com/en/tutorials/eme/basics/",
                                                                         },
                                                                         {
                                                                           title => "Wikipedia article",
                                                                           url => "https://en.wikipedia.org/wiki/Encrypted_Media_Extensions",
                                                                         },
                                                                         {
                                                                           title => "Encrypted Media Extensions API on MDN",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Encrypted_Media_Extensions_API",
                                                                         },
                                                                       ],
                                                       notes_by_num => { 1 => "Only supports the older event-based specification" },
                                                       spec         => "https://www.w3.org/TR/encrypted-media/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 35 => "a #1", 42 => "y" },
                                                                         edge    => { "5.5" => "n", "11" => "a x #1", "12" => "y" },
                                                                         firefox => { 2 => "n", 38 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.3-11.4" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 22 => "a #1", 29 => "y" },
                                                                         safari  => { "3.1" => "n", "7" => "a x #1", "12" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "Encrypted Media Extensions",
                                                       ucprefix     => 0,
                                                     },
                "eot"                             => {
                                                       categories   => ["Other"],
                                                       description  => "Type of font that can be derived from a regular font, allowing small files and legal use of high-quality fonts. Usage is restricted by the file being tied to the website",
                                                       links        => [
                                                                         {
                                                                           title => "Wikipedia",
                                                                           url => "https://en.wikipedia.org/wiki/Embedded_OpenType",
                                                                         },
                                                                         {
                                                                           title => "Example pages",
                                                                           url => "https://www.microsoft.com/typography/web/embedding/default.aspx",
                                                                         },
                                                                       ],
                                                       notes        => "Proposal by Microsoft, being considered for W3C standardization.",
                                                       notes_by_num => {},
                                                       parent       => "fontface",
                                                       spec         => "https://www.w3.org/Submission/EOT/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n" },
                                                                         edge    => { "5.5" => "n", "6" => "y", "12" => "n" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "EOT - Embedded OpenType fonts",
                                                       ucprefix     => 0,
                                                     },
                "es5"                             => {
                                                       categories   => ["JS"],
                                                       description  => "Full support for the ECMAScript 5 specification. Features include `Function.prototype.bind`, Array methods like `indexOf`, `forEach`, `map` & `filter`, Object methods like `defineProperty`, `create` & `keys`, the `trim` method on Strings and many more.",
                                                       keywords     => "es5,javascript,js,javascriptes5,function.bind,array.foreach,array.indexof,array.map,object.keys,date.now,defineproperties,getprototypeof,keys,seal,freeze,preventextensions,issealed,isfrozen,isextensible,getownpropertydescriptorgetownpropertynames,toisostringc,isarray,lastindexof,every,some,reduce,reduceright,getter,setter",
                                                       links        => [
                                                                         {
                                                                           title => "Detailed compatibility tables & tests",
                                                                           url => "https://compat-table.github.io/compat-table/es5/",
                                                                         },
                                                                         {
                                                                           title => "Overview of objects & properties",
                                                                           url => "https://johnresig.com/blog/ecmascript-5-objects-and-properties/",
                                                                         },
                                                                         {
                                                                           title => "ES5 polyfill",
                                                                           url => "https://github.com/es-shims/es5-shim",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for all possible ES5 features is available in the core-js library",
                                                                           url => "https://github.com/zloirock/core-js#ecmascript",
                                                                         },
                                                                       ],
                                                       notes        => "As the specification includes many JavaScript features, un-numbered partial support varies widely and is shown in detail on the [ECMAScript 5 compatibility tables](https://compat-table.github.io/compat-table/es5/) by Kangax.",
                                                       notes_by_num => {
                                                                         1 => "Does not support `parseInt()` ignoring leading zeros. ",
                                                                         2 => "Does not support Strict mode",
                                                                         3 => "Does not support zero-width chars in identifiers & Immutable `undefined`",
                                                                         4 => "IE8 has virtually no ES5 support, but does support `Object.defineProperty`, `Object.getOwnPropertyDescriptor`, JSON parsing & Property access on strings",
                                                                       },
                                                       spec         => "https://www.ecma-international.org/ecma-262/5.1/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a", "4" => "a #1 #2 #3", "4.1" => "a #1", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a", 10 => "y" },
                                                                         chrome  => { 4 => "a", 19 => "a #1", 23 => "y" },
                                                                         edge    => { "5.5" => "n", "8" => "n #4", "9" => "a #2", "10" => "y" },
                                                                         firefox => { 2 => "a", 4 => "a #1", 21 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "a", "6.0-6.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "a #1" },
                                                                         op_mob  => { "10" => "a", "12.1" => "a #1", "80" => "y" },
                                                                         opera   => { "9" => "a", "12.1" => "a #1", "15" => "y" },
                                                                         safari  => { "3.1" => "a", "6" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "ECMAScript 5",
                                                       ucprefix     => 0,
                                                     },
                "es6"                             => {
                                                       categories   => ["JS"],
                                                       description  => "Support for the ECMAScript 2015 specification. Features include Promises, Modules, Classes, Template Literals, Arrow Functions, Let and Const, Default Parameters, Generators, Destructuring Assignment, Rest & Spread, Map/Set & WeakMap/WeakSet and many more.",
                                                       keywords     => "javascript,block-scoped,string.prototype.includes,string.prototype.endswith,string.prototype.repeat,array.prototype.find,array.prototype.findindex,array.prototype.fill,object.assign",
                                                       links        => [
                                                                         {
                                                                           title => "ES6 New features: overview and comparisons",
                                                                           url => "http://es6-features.org",
                                                                         },
                                                                         {
                                                                           title => "Exploring ES6 (book)",
                                                                           url => "https://exploringjs.com/es6/",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for all possible ES2015 features is available in the core-js library",
                                                                           url => "https://github.com/zloirock/core-js#ecmascript",
                                                                         },
                                                                       ],
                                                       notes        => "As ES6 refers to a huge specification and browsers have various levels of support, \"Supported\" means at least 95% of the spec is supported. \"Partial support\" refers to at least 10% of the spec being supported. For full details see the [Kangax ES6 support table](https://compat-table.github.io/compat-table/es6/).",
                                                       notes_by_num => {
                                                                         1 => "Notable partial support in IE11 includes (at least some) support for `const`, `let`, block-level function declaration, typed arrays, `Map`, `Set` and `WeakMap`.",
                                                                         2 => "Does not support [tail call optimization](https://compat-table.github.io/compat-table/es6/#test-proper_tail_calls_%28tail_call_optimisation%29)",
                                                                         3 => "Only has partial Symbol support and partial support for `RegExp.prototype` properties",
                                                                       },
                                                       spec         => "https://tc39.es/ecma262/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "a", "135" => "y #2" },
                                                                         and_ff  => { 137 => "y #2" },
                                                                         and_qq  => { "14.9" => "y #2" },
                                                                         and_uc  => { "15.5" => "y #2" },
                                                                         baidu   => { "13.52" => "y #2" },
                                                                         bb      => { 7 => "n", 10 => "a" },
                                                                         chrome  => { 4 => "n", 21 => "a", 51 => "y #2" },
                                                                         edge    => {
                                                                                      "5.5" => "n",
                                                                                      "11"  => "a #1 #2",
                                                                                      "12"  => "a #2",
                                                                                      "15"  => "y #2 #3",
                                                                                      "79"  => "y #2",
                                                                                    },
                                                                         firefox => { 2 => "n", 6 => "a", 54 => "y #2" },
                                                                         ie_mob  => { 10 => "n", 11 => "a #1 #2" },
                                                                         ios_saf => { "10.0-10.2" => "y", "3.2" => "n", "7.0-7.1" => "a" },
                                                                         kaios   => { "2.5" => "a", "3.0-3.1" => "y #2" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y #2" },
                                                                         opera   => { 9 => "n", 15 => "a", 38 => "y #2" },
                                                                         safari  => { "3.1" => "n", "7.1" => "a", "10" => "y" },
                                                                         samsung => { "4" => "a", "5.0-5.4" => "y #2" },
                                                                       },
                                                       status       => "other",
                                                       title        => "ECMAScript 2015 (ES6)",
                                                       ucprefix     => 0,
                                                     },
                "es6-class"                       => {
                                                       categories   => ["JS"],
                                                       chrome_id    => 4633745457938432,
                                                       description  => "ES6 classes are syntactical sugar to provide a much simpler and clearer syntax to create objects and deal with inheritance.",
                                                       keywords     => "ES6,JavaScript,class",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - ES6 classes",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes",
                                                                         },
                                                                         {
                                                                           title => "Sitepoint deep dive on ES6 classes",
                                                                           url => "https://www.sitepoint.com/object-oriented-javascript-deep-dive-es6-classes/",
                                                                         },
                                                                         {
                                                                           title => "List of resources critical of ES6 classes",
                                                                           url => "https://github.com/joshburgess/not-awesome-es6-classes",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Requires strict mode. Non-strict mode support is behind the flag 'Enable Experimental JavaScript', disabled by default.",
                                                                       },
                                                       parent       => "es6",
                                                       spec         => "https://tc39.es/ecma262/#sec-class-definitions",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 42 => "a #1", 49 => "y" },
                                                                         edge    => { "5.5" => "n", "13" => "y" },
                                                                         firefox => { 2 => "n", 45 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 29 => "a #1", 36 => "y" },
                                                                         safari  => { "3.1" => "n", "9" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "ES6 classes",
                                                       ucprefix     => 0,
                                                     },
                "es6-generators"                  => {
                                                       categories   => ["JS"],
                                                       chrome_id    => 4959347197083648,
                                                       description  => "ES6 Generators are special functions that can be used to control the iteration behavior of a loop. Generators are defined using a `function*` declaration.",
                                                       keywords     => "yield,iterators",
                                                       links        => [
                                                                         {
                                                                           title => "Exploring JS chapter on generators",
                                                                           url => "https://exploringjs.com/es6/ch_generators.html",
                                                                         },
                                                                         {
                                                                           title => "MDN article on the `function*` declaration",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/function*",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       parent       => "es6",
                                                       spec         => "https://tc39.es/ecma262/#sec-generator-function-definitions",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 39 => "y" },
                                                                         edge    => { "5.5" => "n", "13" => "y" },
                                                                         firefox => { 2 => "n", 26 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.0-10.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 26 => "y" },
                                                                         safari  => { "3.1" => "n", "10" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "ES6 Generators",
                                                       ucprefix     => 0,
                                                     },
                "es6-module"                      => {
                                                       categories   => ["JS"],
                                                       chrome_id    => 5365692190687232,
                                                       description  => "Loading JavaScript module scripts (aka ES6 modules) using `<script type=\"module\">` Includes support for the `nomodule` attribute.",
                                                       keywords     => "es6 module,esmodules,module,import,export,nomodule",
                                                       links        => [
                                                                         {
                                                                           title => "Intro to ES6 modules",
                                                                           url => "https://strongloop.com/strongblog/an-introduction-to-javascript-es6-modules/",
                                                                         },
                                                                         {
                                                                           title => "MS Edge blog post",
                                                                           url => "https://blogs.windows.com/msedgedev/2016/05/17/es6-modules-and-beyond/",
                                                                         },
                                                                         {
                                                                           title => "Mozilla hacks article",
                                                                           url => "https://hacks.mozilla.org/2015/08/es6-in-depth-modules/",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=568953",
                                                                         },
                                                                         {
                                                                           title => "Blog post: Native ECMAScript modules - the first overview",
                                                                           url => "https://blog.hospodarets.com/native-ecmascript-modules-the-first-overview",
                                                                         },
                                                                         {
                                                                           title => "Counterpart ECMAScript specification for import/export syntax",
                                                                           url => "https://tc39.es/ecma262/#sec-modules",
                                                                         },
                                                                         {
                                                                           title => "Specification for nomodule attribute",
                                                                           url => "https://html.spec.whatwg.org/multipage/scripting.html#attr-script-nomodule",
                                                                         },
                                                                         {
                                                                           title => "Blog post on using nomodule",
                                                                           url => "https://hospodarets.com/native-ecmascript-modules-nomodule",
                                                                         },
                                                                         {
                                                                           title => "Will it double-fetch? Browser behavior with `module` / `nomodule` scripts",
                                                                           url => "https://gist.github.com/jakub-g/5fc11af85a061ca29cc84892f1059fec",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Support can be enabled via `about:flags`",
                                                                         2 => "Support can be enabled via `about:config`",
                                                                         3 => "Does not support the `nomodule` attribute",
                                                                         4 => "A [polyfill is available](https://gist.github.com/samthor/64b114e4a4f539915a95b91ffd340acc) for Safari 10.1/iOS Safari 10.3",
                                                                         5 => "`nomodule` scripts are not executed, but they're still fetched",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/scripting.html#attr-script-type",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 60 => "n d #1", 61 => "y" },
                                                                         edge    => { "5.5" => "n", "15" => "n d #1 #5", "16" => "y #5", "79" => "y" },
                                                                         firefox => { 2 => "n", 54 => "n d #2", 60 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.3" => "a #3 #4", "11.0-11.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 47 => "n d #1", 48 => "y" },
                                                                         safari  => { "3.1" => "n", "10.1" => "a #3 #4", "11" => "y" },
                                                                         samsung => { "4" => "n", "8.2" => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "JavaScript modules via script tag",
                                                       ucprefix     => 0,
                                                     },
                "es6-module-dynamic-import"       => {
                                                       categories   => ["JS"],
                                                       chrome_id    => 5684934484164608,
                                                       description  => "Loading JavaScript modules dynamically using the import() syntax",
                                                       keywords     => "es6,javascript,module,import,export",
                                                       links        => [
                                                                         {
                                                                           title => "Counterpart ECMAScript specification for import() syntax",
                                                                           url => "https://tc39.es/ecma262/#sec-import-calls",
                                                                         },
                                                                         {
                                                                           title => "Blog post: Native ECMAScript modules - dynamic import()",
                                                                           url => "https://hospodarets.com/native-ecmascript-modules-dynamic-import",
                                                                         },
                                                                         {
                                                                           title => "Dynamic import()",
                                                                           url => "https://developers.google.com/web/updates/2017/11/dynamic-import",
                                                                         },
                                                                         {
                                                                           title => "Firefox implementation bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1342012",
                                                                         },
                                                                         {
                                                                           title => "Integration with the HTML specification",
                                                                           url => "https://html.spec.whatwg.org/multipage/webappapis.html#integration-with-the-javascript-module-system",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Support can be enabled via `javascript.options.dynamicImport` flag. See [bug 1517546](https://bugzil.la/1517546).",
                                                                       },
                                                       parent       => "es6-module",
                                                       spec         => "https://tc39.es/ecma262/#sec-import-calls",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 63 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 66 => "n d #1", 67 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.0-11.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 50 => "y" },
                                                                         safari  => { "3.1" => "n", "11.1" => "y" },
                                                                         samsung => { "4" => "n", "8.2" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "JavaScript modules: dynamic import()",
                                                       ucprefix     => 0,
                                                     },
                "es6-number"                      => {
                                                       categories   => ["JS"],
                                                       description  => "Extensions to the `Number` built-in object in ES6, including constant properties `EPSILON`, `MIN_SAFE_INTEGER`, and `MAX_SAFE_INTEGER`, and methods ` isFinite`, `isInteger`, `isSafeInteger`, and `isNaN`.",
                                                       keywords     => "ES6,JavaScript,number,built-in,EPSILON,MIN_SAFE_INTEGER,MAX_SAFE_INTEGER,isFinite,isInteger,isSafeInteger,isNaN",
                                                       links        => [
                                                                         {
                                                                           title => "New number and Math features in ES6",
                                                                           url => "https://2ality.com/2015/04/numbers-math-es6.html",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for those features is available in the core-js library",
                                                                           url => "https://github.com/zloirock/core-js#ecmascript-number",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial refers to only supporting the `isFinite`, `isInteger`, and `isNaN` methods.",
                                                                         2 => "Partial refers to supporting the same as #1 and the addition of the `EPSILON` property.",
                                                                         3 => "Partial refers to supporting all new features except the `isSafeInteger` method.",
                                                                         4 => "Partial refers to only supporting the `isFinite` and `isNaN` methods.",
                                                                       },
                                                       parent       => "es6",
                                                       spec         => "https://tc39.es/ecma262/#sec-number-objects",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.1" => "a #4", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 19 => "a #4", 34 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "y" },
                                                                         firefox => { 2 => "n", 16 => "a #1", 25 => "a #2", 31 => "a #3", 32 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "a #4", 21 => "y" },
                                                                         safari  => { "3.1" => "n", "9" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "ES6 Number",
                                                       ucprefix     => 0,
                                                     },
                "es6-string-includes"             => {
                                                       categories   => ["JS"],
                                                       description  => "The includes() method determines whether one string may be found within another string, returning true or false as appropriate.",
                                                       keywords     => "ES6,JavaScript,String,includes",
                                                       links        => [
                                                                         {
                                                                           title => "MDN: String.prototype.includes()",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for this feature is available in the core-js library",
                                                                           url => "https://github.com/zloirock/core-js#ecmascript-string-and-regexp",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       parent       => "es6",
                                                       spec         => "https://tc39.es/ecma262/#sec-string.prototype.includes",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 41 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "y" },
                                                                         firefox => { 2 => "n", 40 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 28 => "y" },
                                                                         safari  => { "3.1" => "n", "9" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "String.prototype.includes",
                                                       ucprefix     => 0,
                                                     },
                "eventsource"                     => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5311740673785856,
                                                       description  => "Method of continuously sending data from a server to the browser, rather than repeatedly requesting it (EventSource interface, used to fall under HTML5)",
                                                       keywords     => "serversent,s-sent-events,server sent events,server side events",
                                                       links        => [
                                                                         {
                                                                           title => "HTML5 Rocks tutorial",
                                                                           url => "https://www.html5rocks.com/tutorials/eventsource/basics/",
                                                                         },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-eventsource",
                                                                         },
                                                                         { title => "Polyfill", url => "https://github.com/Yaffle/EventSource" },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/comms.html#server-sent-events",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "n", 6 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 6 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "4.0-4.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "a", "11.1" => "y" },
                                                                         opera   => { 9 => "a", 11 => "y" },
                                                                         safari  => { "3.1" => "n", "5" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Server-sent events",
                                                       ucprefix     => 0,
                                                     },
                "extended-system-fonts"           => {
                                                       categories   => ["CSS"],
                                                       description  => "Allows more control when choosing system interface fonts",
                                                       keywords     => "font-family,ui-serif,ui-sans-serif,ui-monospace,ui-rounded",
                                                       links        => [
                                                                         {
                                                                           title => "WebKit Safari 13.1 announcement",
                                                                           url => "https://webkit.org/blog/10247/new-webkit-features-in-safari-13-1/",
                                                                         },
                                                                         {
                                                                           title => "ui-serif Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1598879",
                                                                         },
                                                                         {
                                                                           title => "ui-sans-serif Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1598880",
                                                                         },
                                                                         {
                                                                           title => "ui-monospace Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1598881",
                                                                         },
                                                                         {
                                                                           title => "ui-rounded Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1598883",
                                                                         },
                                                                         {
                                                                           title => "Chromium support bug",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=1029069",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-fonts-4/#ui-serif-def",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n" },
                                                                         edge    => { "5.5" => "n" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "13.4-13.7" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n" },
                                                                         safari  => { "3.1" => "n", "13.1" => "y" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "ui-serif, ui-sans-serif, ui-monospace and ui-rounded values for font-family",
                                                       ucprefix     => 0,
                                                     },
                "feature-policy"                  => {
                                                       categories   => ["JS API", "Other", "Security"],
                                                       chrome_id    => "5694225681219584,5190687460950016",
                                                       description  => "This specification defines a mechanism that allows developers to selectively enable and disable use of various browser features and APIs. Feature Policy is deprecated and has been replaced with [Permissions Policy](/permissions-policy) and [Document Policy](/document-policy).",
                                                       keywords     => "feature,security,header,allow,attribute,allow attribute,attribute allow,feature-policy,document.featurePolicy,document.policy",
                                                       links        => [
                                                                         {
                                                                           title => "Feature Policy Kitchen Sink Demos",
                                                                           url => "https://feature-policy-demos.appspot.com/",
                                                                         },
                                                                         {
                                                                           title => "Introduction to Feature Policy",
                                                                           url => "https://developers.google.com/web/updates/2018/06/feature-policy",
                                                                         },
                                                                         {
                                                                           title => "Firefox implementation ticket",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1390801",
                                                                         },
                                                                         {
                                                                           title => "Feature Policy Tester (Chrome DevTools Extension)",
                                                                           url => "https://chrome.google.com/webstore/detail/feature-policy-tester-dev/pchamnkhkeokbpahnocjaeednpbpacop",
                                                                         },
                                                                         {
                                                                           title => "featurepolicy.info (Feature-Policy Playground)",
                                                                           url => "https://featurepolicy.info/",
                                                                         },
                                                                         {
                                                                           title => "List of known features",
                                                                           url => "https://github.com/w3c/webappsec-permissions-policy/blob/main/features.md",
                                                                         },
                                                                       ],
                                                       notes        => "Standard support includes the HTTP `Feature-Policy` header, `allow` attribute on iframes and the `document.featurePolicy` JS API.",
                                                       notes_by_num => {
                                                                         1 => "Older Chromium browsers did not support the JS API.",
                                                                         2 => "Safari and Firefox only supports the `allow` attribute on iframes.",
                                                                         3 => "Safari doesn't support a [list of origins](https://bugs.webkit.org/show_bug.cgi?id=189901) or a [wildcard](https://bugs.webkit.org/show_bug.cgi?id=187816).",
                                                                         4 => "At least partially supports [Permissions Policy](/permissions-policy), the main replacement for this spec.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/2019/WD-feature-policy-1-20190416/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "a #2" },
                                                                         and_qq  => { "14.9" => "a #1" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y #4" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 60 => "a #1", 74 => "y", 88 => "y #4" },
                                                                         edge    => { "5.5" => "n", "79" => "y", "88" => "y #4" },
                                                                         firefox => { 2 => "n", 74 => "a #2" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.3-11.4" => "a #2 #3", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "a #2" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y #4" },
                                                                         opera   => { 9 => "n", 47 => "a #1", 62 => "y", 75 => "y #4" },
                                                                         safari  => { "3.1" => "n", "11.1" => "a #2 #3" },
                                                                         samsung => { "11.1-11.2" => "y", "4" => "n", "8.2" => "a #1" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Feature Policy",
                                                       ucprefix     => 0,
                                                     },
                "fetch"                           => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 6730533392351232,
                                                       description  => "A modern replacement for XMLHttpRequest.",
                                                       keywords     => "fetch,service,workers,xhr,xmlhttprequest",
                                                       links        => [
                                                                         { title => "Polyfill", url => "https://github.com/github/fetch" },
                                                                         { title => "Demo", url => "https://addyosmani.com/demos/fetch-api/" },
                                                                         {
                                                                           title => "Polyfill (minimal, 500 bytes)",
                                                                           url => "https://github.com/developit/unfetch",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support can be enabled in Firefox with the `dom.fetch.enabled` flag.",
                                                                         2 => "Only available in Chrome and Opera within ServiceWorkers.",
                                                                         3 => "Available in Chrome and Opera within Window and Workers by enabling the \"Experimental Web Platform Features\" flag in `chrome://flags`",
                                                                         4 => "Firefox <40 is not completely conforming to the specs and does not respect the <base> tag for relative URIs in fetch requests. See [bug 1161625](https://bugzilla.mozilla.org/show_bug.cgi?id=1161625).",
                                                                       },
                                                       spec         => "https://fetch.spec.whatwg.org/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 40 => "a #2", 41 => "a #2 #3", 42 => "y" },
                                                                         edge    => { "5.5" => "n", "14" => "y" },
                                                                         firefox => { 2 => "n", 34 => "n d #1 #4", 39 => "y #4", 40 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "10.3" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 27 => "a #2", 28 => "a #2 #3", 29 => "y" },
                                                                         safari  => { "3.1" => "n", "10.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Fetch",
                                                       ucprefix     => 0,
                                                     },
                "fieldset-disabled"               => {
                                                       categories   => ["DOM", "HTML5"],
                                                       description  => "Allows disabling all of the form control descendants of a fieldset via a `disabled` attribute on the fieldset element itself.",
                                                       keywords     => "HTMLFieldSetElement,fieldset,disabled",
                                                       links        => [
                                                                         {
                                                                           title => "JS Bin Testcase/Demo",
                                                                           url => "https://jsbin.com/bibiqi/1/edit?html,output",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Text inputs that are descendants of a disabled fieldset appear disabled but the user can still interact with them. [See IE bug #962368.](https://web.archive.org/web/20170306075528/https://connect.microsoft.com/IE/feedbackdetail/view/962368/can-still-edit-input-type-text-within-fieldset-disabled)",
                                                                         2 => "File inputs that are descendants of a disabled fieldset appear disabled but the user can still interact with them. [See IE bug #817488.](https://web.archive.org/web/20170306075531/https://connect.microsoft.com/IE/feedbackdetail/view/817488)",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/forms.html#attr-fieldset-disabled",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 16 => "u", 20 => "y" },
                                                                         edge    => { "5.5" => "u", "6" => "a #1 #2", "8" => "a #1", "10" => "a #1 #2", "12" => "y" },
                                                                         firefox => { 2 => "n", 4 => "y" },
                                                                         ie_mob  => { 10 => "y", 11 => "a #2" },
                                                                         ios_saf => { "3.2" => "n", "6.0-6.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "a #1 #2" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { "10.0-10.1" => "y", "9" => "u" },
                                                                         safari  => { "3.1" => "n", "6" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "disabled attribute of the fieldset element",
                                                       ucprefix     => 0,
                                                     },
                "fileapi"                         => {
                                                       categories   => ["JS API"],
                                                       description  => "Method of manipulating file objects in web applications client-side, as well as programmatically selecting them and accessing their data.",
                                                       keywords     => "FileReader",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Using Files",
                                                                           url => "https://developer.mozilla.org/en/Using_files_from_web_applications",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/apis/file",
                                                                         },
                                                                         { title => "Polyfill", url => "https://github.com/moxiecode/moxie" },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Does not have `FileReader` support. ",
                                                                         2 => "Does not support the `File` constructor",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/FileAPI/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "3" => "a #1 #2", "4.4" => "a #2", "4.4.3-4.4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a #1 #2", 10 => "a #2" },
                                                                         chrome  => { 4 => "n", 6 => "a #1 #2", 13 => "a #2", 38 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "a #2", "79" => "y" },
                                                                         firefox => { "2" => "n", "3.6" => "a #2", "28" => "y" },
                                                                         ie_mob  => { 10 => "n", 11 => "a #2" },
                                                                         ios_saf => { "10.0-10.2" => "y", "3.2" => "n", "6.0-6.1" => "a #2" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "n", "11.1" => "a #2", "80" => "y" },
                                                                         opera   => { "9" => "n", "11.1" => "a #2", "25" => "y" },
                                                                         safari  => { "3.1" => "n", "5.1" => "a #1 #2", "6" => "a #2", "10" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "File API",
                                                       ucprefix     => 0,
                                                     },
                "filereader"                      => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5171003185430528,
                                                       description  => "Method of reading the contents of a File or Blob object into memory",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - FileReader",
                                                                           url => "https://developer.mozilla.org/en/DOM/FileReader",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/apis/file/FileReader",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Does not support `readAsBinaryString`, but `readAsBinaryString` [can be polyfilled](https://stackoverflow.com/q/31391207)",
                                                                       },
                                                       parent       => "fileapi",
                                                       spec         => "https://www.w3.org/TR/FileAPI/#dfn-filereader",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 6 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "a #1", "12" => "y" },
                                                                         firefox => { "2" => "n", "3.6" => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "6.0-6.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "n", "11.1" => "y" },
                                                                         opera   => { "9" => "n", "11.1" => "y" },
                                                                         safari  => { "3.1" => "n", "6" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "FileReader API",
                                                       ucprefix     => 0,
                                                     },
                "filereadersync"                  => {
                                                       categories   => ["JS API"],
                                                       description  => "Allows files to be read synchronously in Web Workers",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - FileReaderSync",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/FileReaderSync",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       parent       => "filereader",
                                                       spec         => "https://w3c.github.io/FileAPI/#FileReaderSync",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "u", 15 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "n", 8 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "6.0-6.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "n", "11" => "u", "11.5" => "y" },
                                                                         opera   => { "9" => "n", "10.5" => "u", "11.6" => "y" },
                                                                         safari  => { "3.1" => "n", "6" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "FileReaderSync",
                                                       ucprefix     => 0,
                                                     },
                "filesystem"                      => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5452478162141184,
                                                       description  => "Method of reading and writing files to a sandboxed file system.",
                                                       keywords     => "filewriter,requestFileSystem",
                                                       links        => [
                                                                         {
                                                                           title => "HTML5 Rocks tutorial",
                                                                           url => "https://www.html5rocks.com/en/tutorials/file/filesystem/",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/apis/filesystem",
                                                                         },
                                                                         {
                                                                           title => "Firefox tracking bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=997471",
                                                                         },
                                                                       ],
                                                       notes        => "The File API: Directories and System specification is no longer being maintained and support may be dropped in future versions.",
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/file-system-api/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "y x" },
                                                                         baidu   => { "13.52" => "y x" },
                                                                         bb      => { 7 => "n", 10 => "y x" },
                                                                         chrome  => { 4 => "n", 8 => "a x", 13 => "y x" },
                                                                         edge    => { "5.5" => "n", "79" => "y x" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y x" },
                                                                         opera   => { 9 => "n", 15 => "y x" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y x" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Filesystem & FileWriter API",
                                                       ucprefix     => 0,
                                                     },
                "flac"                            => {
                                                       categories   => ["Other"],
                                                       description  => "Popular lossless audio compression format",
                                                       keywords     => "flac,lossless,audio",
                                                       links        => [
                                                                         { title => "Wikipedia", url => "https://en.wikipedia.org/wiki/FLAC" },
                                                                         {
                                                                           title => "Chrome support bug",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=93887",
                                                                         },
                                                                       ],
                                                       notes        => "Support refers to this format's use in the `audio` element, not other conditions.",
                                                       notes_by_num => {
                                                                         1 => "HTMLMediaElement.canPlayType('audio/flac') returns an empty string",
                                                                         2 => "Only works on ChromeOS",
                                                                         3 => "Supported only on macOS High Sierra or later",
                                                                       },
                                                       parent       => "audio",
                                                       spec         => "https://xiph.org/flac/format.html",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "3" => "u", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 44 => "u", 47 => "a #1 #2", 56 => "y" },
                                                                         edge    => { "5.5" => "n", "16" => "y" },
                                                                         firefox => { 2 => "n", 51 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.0-11.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "u", "12.1" => "y" },
                                                                         opera   => { 9 => "n", 42 => "y" },
                                                                         safari  => { "3.1" => "n", "11" => "a #3", "13" => "y" },
                                                                         samsung => { "4" => "y #1", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "FLAC audio format",
                                                       ucprefix     => 0,
                                                     },
                "flexbox"                         => {
                                                       categories   => ["CSS3"],
                                                       chrome_id    => 4837301406400512,
                                                       description  => "Method of positioning elements in horizontal or vertical stacks. Support includes all properties prefixed with `flex`, as well as `display: flex`, `display: inline-flex`, `align-content`, `align-items`, `align-self`, `justify-content` and `order`.",
                                                       keywords     => "flex-box,displayflex,flex-direction,flex-wrap,flex-flow,flex-grow,flex-shrink,flex-basis,display:flex,justify-content:space-between,justify-content:space-around,align-content:space-between,align-content:space-around,space-between",
                                                       links        => [
                                                                         {
                                                                           title => "Flexbox CSS generator",
                                                                           url => "https://bennettfeely.com/flexplorer/",
                                                                         },
                                                                         {
                                                                           title => "Article on using the latest spec",
                                                                           url => "https://www.adobe.com/devnet/html5/articles/working-with-flexbox-the-new-spec.html",
                                                                         },
                                                                         {
                                                                           title => "Tutorial on cross-browser support",
                                                                           url => "https://dev.opera.com/articles/view/advanced-cross-browser-flexbox/",
                                                                         },
                                                                         {
                                                                           title => "Examples on how to solve common layout problems with flexbox",
                                                                           url => "https://philipwalton.github.io/solved-by-flexbox/",
                                                                         },
                                                                         {
                                                                           title => "A Complete Guide to Flexbox",
                                                                           url => "https://css-tricks.com/snippets/css/a-guide-to-flexbox/",
                                                                         },
                                                                         {
                                                                           title => "Flexbox playground and code generator",
                                                                           url => "https://the-echoplex.net/flexyboxes/",
                                                                         },
                                                                         {
                                                                           title => "Flexbugs: Repo for flexbox bugs",
                                                                           url => "https://github.com/philipwalton/flexbugs",
                                                                         },
                                                                         {
                                                                           title => "10up Open Sources IE 8 and 9 Support for Flexbox",
                                                                           url => "https://github.com/10up/flexibility/",
                                                                         },
                                                                         {
                                                                           title => "Ecligrid - Mobile first flexbox grid system",
                                                                           url => "https://github.com/vadimyer/ecligrid",
                                                                         },
                                                                         {
                                                                           title => "The Difference Between Width and Flex-Basis",
                                                                           url => "https://mastery.games/post/the-difference-between-width-and-flex-basis/",
                                                                         },
                                                                       ],
                                                       notes        => "Most partial support refers to supporting an [older version](https://www.w3.org/TR/2009/WD-css3-flexbox-20090723/) of the specification or an [older syntax](https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/).",
                                                       notes_by_num => {
                                                                         1 => "Only supports the [old flexbox](https://www.w3.org/TR/2009/WD-css3-flexbox-20090723) specification and does not support wrapping.",
                                                                         2 => "Only supports the [2012 syntax](https://www.w3.org/TR/2012/WD-css3-flexbox-20120322/)",
                                                                         3 => "Does not support flex-wrap, flex-flow or align-content properties",
                                                                         4 => "Partial support is due to large amount of bugs present (see known issues)",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-flexbox/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a x #1", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a x #1", 10 => "y" },
                                                                         chrome  => { 4 => "a x #1", 21 => "y x", 29 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "a x #2 #4", "11" => "a #4", "12" => "y" },
                                                                         firefox => { 2 => "a x #1", 22 => "a #3", 28 => "y" },
                                                                         ie_mob  => { 10 => "a x #2", 11 => "y" },
                                                                         ios_saf => { "3.2" => "a x #1", "7.0-7.1" => "y x", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { "10" => "n", "12.1" => "y" },
                                                                         opera   => { "9" => "n", "12.1" => "y", "15" => "y x", "17" => "y" },
                                                                         safari  => { "3.1" => "a x #1", "6.1" => "y x", "9" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS Flexible Box Layout Module",
                                                       ucprefix     => 0,
                                                     },
                "flexbox-gap"                     => {
                                                       categories   => ["CSS"],
                                                       description  => "`gap` for flexbox containers to create gaps/gutters between flex items",
                                                       keywords     => "flexbox,gaps,gutters,row-gap,column-gap,flexgap",
                                                       links        => [
                                                                         {
                                                                           title => "Spec discussion",
                                                                           url => "https://github.com/w3c/csswg-drafts/issues/592",
                                                                         },
                                                                         {
                                                                           title => "Chrome bug to track implementation",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=762679",
                                                                         },
                                                                         {
                                                                           title => "MDN browser compatibility",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/gap#Browser_compatibility",
                                                                         },
                                                                         {
                                                                           title => "Workaround using negative margins",
                                                                           url => "https://gist.github.com/OliverJAsh/7f29d0fa1d35216ec681d2949c3fe8b7",
                                                                         },
                                                                         {
                                                                           title => "Webkit support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=206767",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       parent       => "flexbox",
                                                       spec         => "https://www.w3.org/TR/css-align-3/#gaps",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 84 => "y" },
                                                                         edge    => { "5.5" => "n", "84" => "y" },
                                                                         firefox => { 2 => "n", 63 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "14.5-14.8" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 70 => "y" },
                                                                         safari  => { "3.1" => "n", "14.1" => "y" },
                                                                         samsung => { "4" => "n", "14.0" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "gap property for Flexbox",
                                                       ucprefix     => 0,
                                                     },
                "flow-root"                       => {
                                                       categories   => ["CSS", "CSS2"],
                                                       chrome_id    => 5769454877147136,
                                                       description  => "The element generates a block container box, and lays out its contents using flow layout. It always establishes a new block formatting context for its contents. It provides a better solution to the most use cases of the \"clearfix\" hack.",
                                                       keywords     => "display,flow-root",
                                                       links        => [
                                                                         {
                                                                           title => "Mozilla bug report",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1322191",
                                                                         },
                                                                         {
                                                                           title => "Chromium bug report",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=672508",
                                                                         },
                                                                         {
                                                                           title => "WebKit bug report",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=165603",
                                                                         },
                                                                         {
                                                                           title => "Blog post: \"The end of the clearfix hack?\"",
                                                                           url => "https://rachelandrew.co.uk/archives/2017/01/24/the-end-of-the-clearfix-hack/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/css-display-3/#valdef-display-flow-root",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 58 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 53 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "13.0-13.1" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 45 => "y" },
                                                                         safari  => { "3.1" => "n", "13" => "y" },
                                                                         samsung => { "4" => "n", "7.2-7.4" => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "display: flow-root",
                                                       ucprefix     => 0,
                                                     },
                "focusin-focusout-events"         => {
                                                       categories   => ["DOM"],
                                                       description  => "The `focusin` and `focusout` events fire just before the element gains or loses focus, and they bubble. By contrast, the `focus` and `blur` events fire after the focus has shifted, and don't bubble.",
                                                       keywords     => "focusin,focusout,focus,event",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - focusin",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/Events/focusin",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - focusout",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/Events/focusout",
                                                                         },
                                                                         {
                                                                           title => "Mozilla Bug 687787 - Add support for DOM3 focusin/focusout",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=687787",
                                                                         },
                                                                       ],
                                                       notes        => "In browsers that don't support these events, one alternative is to use a capture phase event listener for the `focus` and/or `blur` events.",
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/DOM-Level-3-Events/#event-type-focusin",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "3" => "u", "4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "u", 15 => "y" },
                                                                         edge    => { "5.5" => "n", "6" => "y" },
                                                                         firefox => { 2 => "n", 52 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 11 => "u", 12 => "y" },
                                                                         opera   => { "9" => "n", "11" => "u", "11.6" => "y" },
                                                                         safari  => { "3.1" => "u", "5.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "focusin & focusout events",
                                                       ucprefix     => 0,
                                                     },
                "font-family-system-ui"           => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5640395337760768,
                                                       description  => "Value for `font-family` that represents the default user interface font.",
                                                       links        => [
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1226042",
                                                                         },
                                                                         {
                                                                           title => "MDN on the font-family property",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/font-family",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Supported as the `-apple-system` value (only on macOS and iOS)",
                                                                         2 => "Supported as the `BlinkMacSystemFont` value (only on macOS)",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-fonts-4/#system-ui-def",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 53 => "a #2", 56 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 43 => "a #1", 92 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.0-11.2" => "y", "3.2" => "n", "9.0-9.2" => "a #1" },
                                                                         kaios   => { "2.5" => "a #1" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 43 => "y" },
                                                                         safari  => { "3.1" => "n", "9" => "u", "9.1" => "a #1", "11" => "y" },
                                                                         samsung => { "4" => "n", "6.2-6.4" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "system-ui value for font-family",
                                                       ucprefix     => 0,
                                                     },
                "font-feature"                    => {
                                                       categories   => ["CSS3"],
                                                       description  => "Method of applying advanced typographic and language-specific font features to supported OpenType fonts.",
                                                       keywords     => "font-feature,font-feature-settings,kern,kerning,font-variant-alternates,ligatures,font-variant-ligatures",
                                                       links        => [
                                                                         {
                                                                           title => "Demo pages (IE/Firefox only)",
                                                                           url => "https://testdrive-archive.azurewebsites.net/Graphics/opentype/",
                                                                         },
                                                                         {
                                                                           title => "Mozilla hacks article",
                                                                           url => "https://hacks.mozilla.org/2010/11/firefox-4-font-feature-support/",
                                                                         },
                                                                         {
                                                                           title => "Detailed tables on accessibility support",
                                                                           url => "https://html5accessibility.com/",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/properties/font-feature-settings",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - font-feature-settings",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/font-feature-settings",
                                                                         },
                                                                         {
                                                                           title => "OpenType layout feature tag registry",
                                                                           url => "https://www.microsoft.com/typography/otspec/featuretags.htm",
                                                                         },
                                                                         {
                                                                           title => "Syntax for OpenType features in CSS (Adobe Typekit Help)",
                                                                           url => "https://helpx.adobe.com/fonts/using/open-type-syntax.html#salt",
                                                                         },
                                                                       ],
                                                       notes        => "Whenever possible, font-variant shorthand property or an associated longhand property, font-variant-ligatures, font-variant-caps, font-variant-east-asian, font-variant-alternates, font-variant-numeric or font-variant-position should be used. This property is a low-level feature designed to handle special cases where no other way to enable or access an OpenType font feature exists. In particular, this CSS property shouldn't be used to enable small caps.",
                                                       notes_by_num => {
                                                                         1 => "From Gecko 2.0 (Firefox 4.0) to Gecko 14.0 (Firefox 14.0) included, Gecko supported an older syntax, slightly different from the modern one: https://hacks.mozilla.org/2010/11/firefox-4-font-feature-support/",
                                                                         2 => "Partial support in older Chrome versions refers to lacking support in Mac OS X.",
                                                                       },
                                                       spec         => "https://w3.org/TR/css3-fonts/#font-rend-props",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y x", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y x" },
                                                                         chrome  => { 4 => "n", 16 => "a x #2", 21 => "y x", 48 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "n", 4 => "a x #1", 15 => "y x", 34 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "a", "7.0-7.1" => "n", "9.3" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y x", 35 => "y" },
                                                                         safari  => { "3.1" => "n", "4" => "a", "6.1" => "n", "9.1" => "y" },
                                                                         samsung => { "4" => "y x", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "CSS font-feature-settings",
                                                       ucprefix     => 0,
                                                     },
                "font-kerning"                    => {
                                                       categories   => ["CSS3"],
                                                       description  => "Controls the usage of the kerning information (spacing between letters) stored in the font. Note that this only affects OpenType fonts with kerning information, it has no effect on other fonts.",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS font-kerning",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/font-kerning",
                                                                         },
                                                                       ],
                                                       notes        => "Browsers with support for [font feature settings](https://caniuse.com/#feat=font-feature) can also set kerning value.",
                                                       notes_by_num => {
                                                                         1 => "Disabled by default, can be enabled using preference layout.css.font-features.enabled - defaulting to true on Nightly and Aurora only.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-fonts/#font-kerning-prop",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y x", "4.4.3-4.4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y x" },
                                                                         chrome  => { 4 => "n", 29 => "y x", 33 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 24 => "n d #1", 34 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "12.0-12.1" => "y", "3.2" => "n", "8" => "y x" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 16 => "y x", 20 => "y" },
                                                                         safari  => { "3.1" => "n", "7" => "y x", "9.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS3 font-kerning",
                                                       ucprefix     => 0,
                                                     },
                "font-loading"                    => {
                                                       categories   => ["CSS3", "JS API"],
                                                       chrome_id    => 6244676289953792,
                                                       description  => "This CSS module defines a scripting interface to font faces in CSS, allowing font faces to be easily created and loaded from script. It also provides methods to track the loading status of an individual font, or of all the fonts on an entire page.",
                                                       keywords     => "fontface,fontfaceset,fontfacesource,document.fonts",
                                                       links        => [
                                                                         {
                                                                           title => "Optimizing with font load events",
                                                                           url => "https://www.igvita.com/2014/01/31/optimizing-web-font-rendering-performance/#font-load-events",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled in Firefox using the `layout.css.font-loading-api.enabled` flag. Enabled by default in Firefox 41. See [this bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1149381)",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-font-loading-3/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 35 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 35 => "n d #1", 41 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.0-10.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 22 => "y" },
                                                                         safari  => { "3.1" => "n", "10" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS Font Loading",
                                                       ucprefix     => 0,
                                                     },
                "font-size-adjust"                => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => "5720910061371392,5170570175447040",
                                                       description  => "Method of adjusting the font size in a matter that relates to the height of lowercase vs. uppercase letters. This makes it easier to set the size of fallback fonts.",
                                                       links        => [
                                                                         {
                                                                           title => "Article on font-size-adjust",
                                                                           url => "https://webdesignernotebook.com/css/the-little-known-font-size-adjust-css3-property/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - CSS font-size-adjust",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/font-size-adjust",
                                                                         },
                                                                         {
                                                                           title => "WebKit support bug #15257",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=15257",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Enabled through the \"experimental Web Platform features\" flag in chrome://flags",
                                                                         2 => "Missing support for two-value syntax. Issue for [Chromium](https://bugs.chromium.org/p/chromium/issues/detail?id=1219875).",
                                                                         3 => "Missing support for `from-font` value. Issue for [Chromium](https://bugs.chromium.org/p/chromium/issues/detail?id=1219875).",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-fonts-3/#font-size-adjust-prop",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n d #1" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 43 => "n d #1 #2 #3", 120 => "n d #1", 127 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "n d #1 #2 #3", "117" => "n d #1", "127" => "y" },
                                                                         firefox => { 2 => "n", 3 => "a #2 #3", 92 => "a #3", 118 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "16.4" => "a #2 #3", "17.0" => "y" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "a #3" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 30 => "n d #1 #2 #3", 102 => "n d #1", 113 => "y" },
                                                                         safari  => { "3.1" => "n", "16.4" => "a #2 #3", "17.0" => "y" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "CSS font-size-adjust",
                                                       ucprefix     => 0,
                                                     },
                "font-smooth"                     => {
                                                       categories   => ["CSS3"],
                                                       description  => "Controls the application of anti-aliasing when fonts are rendered.",
                                                       keywords     => "font smooth,font smoothing,-webkit-font-smoothing,-moz-osx-font-smoothing",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - font-smooth",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth",
                                                                         },
                                                                         {
                                                                           title => "Old version of W3C recommendation containing font-smooth",
                                                                           url => "https://www.w3.org/TR/WD-font/#font-smooth",
                                                                         },
                                                                         {
                                                                           title => "WHATWG compat issue to spec `-webkit-font-smoothing: antialiased`",
                                                                           url => "https://github.com/whatwg/compat/issues/115",
                                                                         },
                                                                       ],
                                                       notes        => "Though present in early (2002) drafts of CSS3 Fonts, `font-smooth` has been removed from this specification and is currently not on the standard track.",
                                                       notes_by_num => {
                                                                         1 => "WebKit implements something similar with a different name `-webkit-font-smoothing` and different values: `none`, `antialiased` and `subpixel-antialiased`.",
                                                                         2 => "Firefox implements something similar with a different name `-moz-osx-font-smoothing` and different values: `auto`, `inherit`, `unset`, `grayscale`.",
                                                                         3 => "Works only on Mac OS X platform.",
                                                                         4 => "Firefox 128 and later supports `-webkit-font-smoothing: antialiased` (by mapping to `-moz-osx-font-smoothing: grayscale`)",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/WD-font/#font-smooth",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 5 => "a x #1 #3" },
                                                                         edge    => { "5.5" => "n", "79" => "a x #1 #3" },
                                                                         firefox => { 2 => "n", 25 => "a x #2 #3", 128 => "a x #2 #3 #4" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "a x #2 #3" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 15 => "a x #1 #3" },
                                                                         safari  => { "3.1" => "n", "4" => "a x #1 #3" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "CSS font-smooth",
                                                       ucprefix     => 0,
                                                     },
                "font-unicode-range"              => {
                                                       categories   => ["CSS3"],
                                                       description  => "This \@font-face descriptor defines the set of Unicode codepoints that may be supported by the font face for which it is declared. The descriptor value is a comma-delimited list of Unicode range (<urange>) values. The union of these ranges defines the set of codepoints that serves as a hint for user agents when deciding whether or not to download a font resource for a given text run.",
                                                       keywords     => "font face,unicode,unicode-range",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS unicode-range",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/unicode-range",
                                                                         },
                                                                         {
                                                                           title => "Safari CSS Reference: unicode-range",
                                                                           url => "https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariCSSRef/Articles/StandardCSSProperties.html#//apple_ref/css/property/unicode-range",
                                                                         },
                                                                         {
                                                                           title => "Web Platform Docs: unicode-range",
                                                                           url => "https://webplatform.github.io/docs/css/properties/unicode-range",
                                                                         },
                                                                         {
                                                                           title => "Demo",
                                                                           url => "https://jsbin.com/jeqoguzeye/1/edit?html,output",
                                                                         },
                                                                       ],
                                                       notes        => "Partial support indicates that unnecessary code-ranges are downloaded by the browser - see [browser test matrix](https://docs.google.com/a/chromium.org/spreadsheets/d/18h-1gaosu4-KYxH8JUNL6ZDuOsOKmWfauoai3CS3hPY/edit?pli=1#gid=0).",
                                                       notes_by_num => {
                                                                         1 => "Can be enabled in Firefox using the `layout.css.unicode-range.enabled` flag",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-fonts/#unicode-range-desc",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "a" },
                                                                         chrome  => { 4 => "a", 36 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "a", "17" => "y" },
                                                                         firefox => { 2 => "n", 36 => "n d #1", 44 => "y" },
                                                                         ie_mob  => { 10 => "a" },
                                                                         ios_saf => { "10.0-10.2" => "y", "3.2" => "a" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "a", 23 => "y" },
                                                                         safari  => { "3.1" => "a", "10" => "y" },
                                                                         samsung => { "4" => "a", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Font unicode-range subsetting",
                                                       ucprefix     => 0,
                                                     },
                "font-variant-alternates"         => {
                                                       categories   => ["CSS3"],
                                                       chrome_id    => 5070560260784128,
                                                       description  => "Controls the usage of alternate glyphs associated to alternative names defined in \@font-feature-values for certain types of OpenType fonts.",
                                                       keywords     => "font-feature,font-feature-settings,font-variant",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - font-variant-alternates",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/font-variant-alternates",
                                                                         },
                                                                         {
                                                                           title => "Chromium support bug",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=716567",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Low-level syntax available in [font-feature-settings](/font-feature) property equivalent to OpenType features: salt, ss01 through ss20, cv01 through cv99, swsh, cswh, ornm, nalt",
                                                                         2 => "Experimental support available by enabling the layout.css.font-features.enabled flag",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-fonts-4/#propdef-font-variant-alternates",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "n #1", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n #1" },
                                                                         and_uc  => { "15.5" => "n #1" },
                                                                         baidu   => { "13.52" => "n #1" },
                                                                         bb      => { 7 => "n", 10 => "n #1" },
                                                                         chrome  => { 4 => "n", 16 => "n #1", 111 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "n #1", "111" => "y" },
                                                                         firefox => { 2 => "n", 4 => "n #1", 24 => "n d #2", 34 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "4.0-4.1" => "n #1", "7.0-7.1" => "n", "9.3" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "n #1", 98 => "y" },
                                                                         safari  => { "3.1" => "n", "4" => "n #1", "6.1" => "n", "9.1" => "y" },
                                                                         samsung => { 4 => "n #1", 22 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS font-variant-alternates",
                                                       ucprefix     => 0,
                                                     },
                "font-variant-numeric"            => {
                                                       categories   => ["CSS"],
                                                       description  => "CSS property that provides different ways of displaying numbers, fractions, and ordinal markers.",
                                                       keywords     => "normal,ordinal,slashed-zero,lining-nums,oldstyle-nums,proportional-nums,tabular-nums,diagonal-fractions,stacked-fractions,oldstyle-nums,stacked-fractions",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs article",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/font-variant-numeric",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-fonts-3/#propdef-font-variant-numeric",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "u" },
                                                                         chrome  => { 4 => "n", 52 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 34 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "9.3" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 39 => "y" },
                                                                         safari  => { "3.1" => "n", "9.1" => "y" },
                                                                         samsung => { "4" => "n", "6.2-6.4" => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "CSS font-variant-numeric",
                                                       ucprefix     => 0,
                                                     },
                "fontface"                        => {
                                                       categories   => ["CSS3"],
                                                       description  => "Method of displaying fonts downloaded from websites",
                                                       keywords     => "font face",
                                                       links        => [
                                                                         {
                                                                           title => "Wikipedia",
                                                                           url => "https://en.wikipedia.org/wiki/Web_typography",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/atrules/font-face",
                                                                         },
                                                                       ],
                                                       notes        => "Not supported by IE Mobile 9 and below.",
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to only supporting EOT fonts.",
                                                                         2 => "Partial support refers to only supporting SVG fonts.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-webfonts/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "2.2" => "a", "4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a", 10 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "a #1", "9" => "y" },
                                                                         firefox => { "2" => "n", "3.5" => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "a #2", "4.2-4.3" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { "10.0-10.1" => "y", "9" => "n" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "\@font-face Web fonts",
                                                       ucprefix     => 0,
                                                     },
                "form-attribute"                  => {
                                                       categories   => ["HTML5"],
                                                       description  => "Attribute for associating input and submit buttons with a form.",
                                                       keywords     => "form,attribute",
                                                       links        => [
                                                                         {
                                                                           title => "Input attribute specification",
                                                                           url => "https://www.w3.org/TR/html5/forms.html#attr-fae-form",
                                                                         },
                                                                         {
                                                                           title => "Article on usage",
                                                                           url => "https://www.impressivewebs.com/html5-form-attribute/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/forms.html#attr-fae-form",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "n", 10 => "y" },
                                                                         edge    => { "5.5" => "n", "16" => "y" },
                                                                         firefox => { 2 => "n", 4 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { "9" => "n", "9.5-9.6" => "y" },
                                                                         safari  => { "3.1" => "n", "5" => "u", "5.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Form attribute",
                                                       ucprefix     => 0,
                                                     },
                "form-submit-attributes"          => {
                                                       categories => ["HTML5"],
                                                       description => "Attributes for form submission that may be specified on submit buttons. The attributes are: `formaction`, `formenctype`, `formmethod`, `formnovalidate`, and `formtarget`",
                                                       links => [
                                                         {
                                                           title => "Article describing each attribute",
                                                           url => "https://html5doctor.com/html5-forms-introduction-and-new-attributes/#formaction",
                                                         },
                                                       ],
                                                       notes_by_num => {},
                                                       spec => "https://html.spec.whatwg.org/multipage/forms.html#attributes-for-form-submission",
                                                       stats => {
                                                         and_chr => { "2.1" => "n", "3" => "u", "4" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "n", 10 => "y" },
                                                         chrome  => { 4 => "u", 15 => "y" },
                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                         firefox => { 2 => "n", 4 => "y" },
                                                         ie_mob  => { 10 => "y" },
                                                         ios_saf => { "3.2" => "n", "5.0-5.1" => "y" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "y" },
                                                         op_mob  => { 10 => "u", 11 => "y" },
                                                         opera   => { "10.0-10.1" => "u", "10.6" => "y", "9" => "n" },
                                                         safari  => { "3.1" => "n", "5.1" => "y" },
                                                         samsung => { 4 => "y" },
                                                       },
                                                       status => "ls",
                                                       title => "Attributes for form submission",
                                                       ucprefix => 0,
                                                     },
                "form-validation"                 => {
                                                       categories   => ["HTML5"],
                                                       chrome_id    => 6091813840486400,
                                                       description  => "Method of setting required fields and field types without requiring JavaScript. This includes preventing forms from being submitted when appropriate, the `checkValidity()` method as well as support for the `:invalid`, `:valid`, and `:required` CSS pseudo-classes.",
                                                       links        => [
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/html/attributes/required",
                                                                         },
                                                                         {
                                                                           title => "WebKit Blog: HTML Interactive Form Validation",
                                                                           url => "https://webkit.org/blog/7099/html-interactive-form-validation/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to lack of notice when form with required fields is attempted to be submitted.",
                                                                         2 => "Partial support in IE10 mobile refers to lack of warning when blocking submission.",
                                                                         3 => "Partial support in Opera Mini refers to only supporting the CSS pseudo classes.",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/forms.html#client-side-form-validation",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4" => "a #1", "4.4.3-4.4.4" => "y" },
                                                                         and_ff  => { 137 => "a #1" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a #1", 10 => "y" },
                                                                         chrome  => { 4 => "n", 10 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "n", 4 => "y" },
                                                                         ie_mob  => { 10 => "a #2" },
                                                                         ios_saf => { "10.3" => "y", "3.2" => "n", "4.0-4.1" => "a #1" },
                                                                         kaios   => { "2.5" => "a #1", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "a #3" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { "10.0-10.1" => "y", "9" => "n" },
                                                                         safari  => { "3.1" => "n", "5" => "a #1", "10.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Form validation",
                                                       ucprefix     => 0,
                                                     },
                "fullscreen"                      => {
                                                       categories   => ["CSS", "JS API"],
                                                       chrome_id    => 5259513871466496,
                                                       description  => "API for allowing content (like a video or canvas element) to take up the entire screen.",
                                                       keywords     => "full-screen,requestFullScreen,exitFullScreen",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Using Full Screen",
                                                                           url => "https://developer.mozilla.org/en/DOM/Using_full-screen_mode",
                                                                         },
                                                                         {
                                                                           title => "Mozilla hacks article",
                                                                           url => "https://hacks.mozilla.org/2012/01/using-the-fullscreen-api-in-web-browsers/",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/dom/Element/requestFullscreen",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to supporting an earlier draft of the spec.",
                                                                         2 => "Partial support refers to not supporting `::backdrop`, and supporting the old `:full-screen` syntax rather than the standard `:fullscreen`.",
                                                                         3 => "Partial support refers to not returning a Promise, as specified in the latest version of the spec.",
                                                                         4 => "Unprefixed support is available behind the `full-screen-api.unprefix.enabled` flag",
                                                                         5 => "Partial support refers to supporting only iPad, not iPhone. Shows an overlay button which can not be disabled.",
                                                                       },
                                                       spec         => "https://fullscreen.spec.whatwg.org/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "a x #2" },
                                                                         chrome  => { 4 => "n", 15 => "a x #1 #3", 20 => "a x #2 #3", 71 => "y" },
                                                                         edge    => { "5.5" => "n", "11" => "a x #3", "12" => "a #3", "79" => "y" },
                                                                         firefox => { 2 => "n", 10 => "a x #1 #3", 47 => "a x #1 #3 #4", 64 => "y" },
                                                                         ie_mob  => { 10 => "n", 11 => "a x #3" },
                                                                         ios_saf => { "12.0-12.1" => "a #5", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { "9" => "n", "12.1" => "y", "15" => "a x #2 #3", "64" => "y" },
                                                                         safari  => {
                                                                                      "3.1"  => "n",
                                                                                      "5.1"  => "a x #1 #3",
                                                                                      "6"    => "a x #2 #3",
                                                                                      "15.4" => "a x #3",
                                                                                      "16.4" => "y",
                                                                                    },
                                                                         samsung => { "4" => "a x #2 #3", "10.1" => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Fullscreen API",
                                                       ucprefix     => 0,
                                                     },
                "gamepad"                         => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5118776383111168,
                                                       description  => "API to support input from USB gamepad controllers through JavaScript.",
                                                       links        => [
                                                                         {
                                                                           title => "Controller demo",
                                                                           url => "https://luser.github.io/gamepadtest/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Gamepad",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API",
                                                                         },
                                                                         {
                                                                           title => "HTML5Rocks article",
                                                                           url => "https://www.html5rocks.com/en/tutorials/doodles/gamepad/",
                                                                         },
                                                                         {
                                                                           title => "Detailed tutorial",
                                                                           url => "https://gamedevelopment.tutsplus.com/tutorials/using-the-html5-gamepad-api-to-add-controller-support-to-browser-games--cms-21345",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/gamepad/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 21 => "y x", 25 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "y" },
                                                                         firefox => { 2 => "n", 29 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "10.3" => "y" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 24 => "y" },
                                                                         safari  => { "3.1" => "n", "10.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Gamepad API",
                                                       ucprefix     => 0,
                                                     },
                "geolocation"                     => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 6348855016685568,
                                                       description  => "Method of informing a website of the user's geographical location",
                                                       links        => [
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-geolocation",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/apis/geolocation",
                                                                         },
                                                                         {
                                                                           title => "Geolocation API on MDN",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API",
                                                                         },
                                                                       ],
                                                       notes_by_num => { 1 => "Only works on secure (https) servers" },
                                                       spec         => "https://www.w3.org/TR/geolocation-API/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y", "135" => "y #1" },
                                                                         and_ff  => { 137 => "y #1" },
                                                                         and_qq  => { "14.9" => "y #1" },
                                                                         and_uc  => { "15.5" => "y #1" },
                                                                         baidu   => { "13.52" => "y #1" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "a", 5 => "y", 50 => "y #1" },
                                                                         edge    => { "5.5" => "n", "6" => "p", "9" => "y", "79" => "y #1" },
                                                                         firefox => { "2" => "p", "3.5" => "y", "55" => "y #1" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "10.0-10.2" => "y #1", "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y", "3.0-3.1" => "y #1" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "p", 11 => "y", 80 => "y #1" },
                                                                         opera   => {
                                                                                      "10.0-10.1" => "p",
                                                                                      "10.6" => "y",
                                                                                      "15" => "n",
                                                                                      "16" => "y",
                                                                                      "39" => "y #1",
                                                                                      "9" => "n",
                                                                                    },
                                                                         safari  => { "3.1" => "p", "5" => "y", "10" => "y #1", "10.1" => "y" },
                                                                         samsung => { "4" => "y", "5.0-5.4" => "y #1" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "Geolocation",
                                                       ucprefix     => 0,
                                                     },
                "getboundingclientrect"           => {
                                                       categories   => ["JS API"],
                                                       description  => "Method to get the size and position of an element's bounding box, relative to the viewport.",
                                                       keywords     => "getBoundingClientRect,bounding,client,rect,DOMRect,box,cssom",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - getBoundingClientRect",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect",
                                                                         },
                                                                         {
                                                                           title => "Microsoft Developer Network",
                                                                           url => "https://msdn.microsoft.com/en-us/library/ms536433(VS.85).aspx",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "The returned object lacks `width` and `height` properties.",
                                                                         2 => "Returns incorrect values for elements which have had CSS `transform`s applied to them.",
                                                                         3 => "The returned object cannot have new properties added to it; it's not extensible.",
                                                                         4 => "Existing properties of the returned object are immutable.",
                                                                         5 => "The returned object lacks `x` & `y` values, though existing `top` & `left` values can be used instead.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/cssom-view/#dom-element-getboundingclientrect",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "a #1 #3", "8" => "a #1 #3 #5", "9" => "y #5", "79" => "y" },
                                                                         firefox => {
                                                                                      "2"   => "n",
                                                                                      "3"   => "a #1 #4",
                                                                                      "3.5" => "a #2 #4",
                                                                                      "3.6" => "a #2 #3 #4",
                                                                                      "4"   => "a #2",
                                                                                      "12"  => "y",
                                                                                    },
                                                                         ie_mob  => { 10 => "y #5" },
                                                                         ios_saf => { "3.2" => "u", "4.0-4.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "a #1", 11 => "y" },
                                                                         opera   => { "10.0-10.1" => "a #1", "10.6" => "y", "9" => "u" },
                                                                         safari  => { "3.1" => "u", "4" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Element.getBoundingClientRect()",
                                                       ucprefix     => 0,
                                                     },
                "getcomputedstyle"                => {
                                                       categories => ["CSS3", "DOM", "JS API"],
                                                       description => "API to get the current computed CSS styles applied to an element. This may be the current value applied by an animation or as set by a stylesheet.",
                                                       links => [
                                                         {
                                                           title => "MDN Web Docs - getComputedStyle",
                                                           url => "https://developer.mozilla.org/en/DOM/window.getComputedStyle",
                                                         },
                                                         {
                                                           title => "Demo",
                                                           url => "https://testdrive-archive.azurewebsites.net/HTML5/getComputedStyle/",
                                                         },
                                                         { title => "Polyfill for IE", url => "https://snipplr.com/view/13523" },
                                                       ],
                                                       notes_by_num => {
                                                         1 => "Partial support refers to requiring the second parameter to be included.",
                                                         2 => "Partial support refers to not supporting getComputedStyle on pseudo-elements.",
                                                       },
                                                       spec => "https://www.w3.org/TR/cssom/#dom-window-getcomputedstyle",
                                                       stats => {
                                                         and_chr => { "2.1" => "a #2", "4" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "a #2", 10 => "y" },
                                                         chrome  => { 4 => "a #2", 11 => "y" },
                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                         firefox => { 2 => "n", 3 => "a #1", 4 => "y" },
                                                         ie_mob  => { 10 => "y" },
                                                         ios_saf => { "3.2" => "a #2", "5.0-5.1" => "y" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "a #2" },
                                                         op_mob  => { 10 => "a #2", 11 => "y" },
                                                         opera   => { "9" => "a #2", "10.6" => "y" },
                                                         safari  => { "3.1" => "a #2", "5" => "y" },
                                                         samsung => { 4 => "y" },
                                                       },
                                                       status => "rec",
                                                       title => "getComputedStyle",
                                                       ucprefix => 0,
                                                     },
                "getelementsbyclassname"          => {
                                                       categories   => ["DOM", "HTML5"],
                                                       description  => "Method of accessing DOM elements by class name",
                                                       keywords     => "byclassname",
                                                       links        => [
                                                                         {
                                                                           title => "Test page",
                                                                           url => "https://www.quirksmode.org/dom/tests/basics.html#getElementsByClassName",
                                                                         },
                                                                         {
                                                                           title => "getElementsByClassName on MDN",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Element/getElementsByClassName",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://dom.spec.whatwg.org/#dom-document-getelementsbyclassname",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "6" => "p", "9" => "y" },
                                                                         firefox => { 2 => "p", 3 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { "9" => "n", "9.5-9.6" => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "getElementsByClassName",
                                                       ucprefix     => 0,
                                                     },
                "getrandomvalues"                 => {
                                                       categories => ["JS API", "Security"],
                                                       description => "Method of generating cryptographically random values.",
                                                       links => [
                                                         {
                                                           title => "MDN Web Docs - crypto.getRandomValues",
                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues",
                                                         },
                                                       ],
                                                       notes_by_num => {},
                                                       spec => "https://www.w3.org/TR/WebCryptoAPI/#Crypto-method-getRandomValues",
                                                       stats => {
                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "n", 10 => "y" },
                                                         chrome  => { 4 => "n", 11 => "y" },
                                                         edge    => { "5.5" => "n", "11" => "y x", "12" => "y" },
                                                         firefox => { 2 => "n", 21 => "y" },
                                                         ie_mob  => { 10 => "n", 11 => "y x" },
                                                         ios_saf => { "3.2" => "n", "7.0-7.1" => "y" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                         opera   => { 9 => "n", 15 => "y" },
                                                         safari  => { "3.1" => "n", "6.1" => "y" },
                                                         samsung => { 4 => "y" },
                                                       },
                                                       status => "rec",
                                                       title => "crypto.getRandomValues()",
                                                       ucprefix => 0,
                                                     },
                "gyroscope"                       => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5698781827825664,
                                                       description  => "Defines a concrete sensor interface to monitor the rate of rotation around the device\x{2019}s local three primary axes.",
                                                       links        => [
                                                                         {
                                                                           title => "Demo",
                                                                           url => "https://intel.github.io/generic-sensor-demos/",
                                                                         },
                                                                         {
                                                                           title => "Article",
                                                                           url => "https://developers.google.com/web/updates/2017/09/sensors-for-the-web#gyroscope-sensor",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Available by enabling the \"Generic Sensor\" experimental flag in `about:flags`",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/gyroscope/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 58 => "n d #1", 67 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 54 => "y" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Gyroscope",
                                                       ucprefix     => 0,
                                                     },
                "hardwareconcurrency"             => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 6248386202173440,
                                                       description  => "Returns the number of logical cores of the user's CPU. The value may be reduced to prevent device fingerprinting or because it exceeds the allowed number of simultaneous web workers.",
                                                       keywords     => "navigator,cores,hardware,concurrency,hardwareConcurrency",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - navigator.hardwareConcurrency",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/NavigatorConcurrentHardware/hardwareConcurrency",
                                                                         },
                                                                         {
                                                                           title => "Original Proposal",
                                                                           url => "https://wiki.whatwg.org/wiki/Navigator_HW_Concurrency",
                                                                         },
                                                                         {
                                                                           title => "WebKit implementation bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=132588",
                                                                         },
                                                                         {
                                                                           title => "WebKit reinstatement bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=233381",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "WebKit browsers clamp the maximum value returned to 2 on iOS devices and 8 on all others. Disabled in Safari behind the ENABLE_NAVIGATOR_HWCONCURRENCY build option.",
                                                                         2 => "Safari clamps this property to 4 or 8 cores, to prevent device fingerprinting.",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/workers.html#navigator.hardwareconcurrency",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 37 => "y" },
                                                                         edge    => { "5.5" => "n", "15" => "y" },
                                                                         firefox => { 2 => "n", 48 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => {
                                                                                      "10.3" => "y #1",
                                                                                      "11.0-11.2" => "n",
                                                                                      "15.4" => "y #2",
                                                                                      "3.2" => "n",
                                                                                      "8" => "n d #1",
                                                                                    },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 24 => "y" },
                                                                         safari  => { "3.1" => "n", "8" => "n d #1", "10.1" => "y #1", "11" => "n", "15.4" => "y #2" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "navigator.hardwareConcurrency",
                                                       ucprefix     => 0,
                                                     },
                "hashchange"                      => {
                                                       categories   => ["HTML5", "JS API"],
                                                       description  => "Event triggered in JavaScript when the URL's hash has changed (for example: page.html#foo to page.html#bar) ",
                                                       keywords     => "onhashchange,HashChangeEvent",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - onhashchange",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Window/hashchange_event",
                                                                         },
                                                                         {
                                                                           title => "Simple demo",
                                                                           url => "https://www.quirksmode.org/dom/events/tests/hashchange.html",
                                                                         },
                                                                         { title => "Polyfill", url => "https://github.com/3nr1c/jUri.js" },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/dom/Element/hashchange",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/browsers.html#the-hashchangeevent-interface",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "2.2" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "p", 5 => "y" },
                                                                         edge    => { "5.5" => "p", "8" => "y" },
                                                                         firefox => { "2" => "p", "3.6" => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "4.0-4.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "p", 11 => "y" },
                                                                         opera   => { "9" => "p", "10.6" => "y" },
                                                                         safari  => { "3.1" => "p", "5" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Hashchange event",
                                                       ucprefix     => 0,
                                                     },
                "heif"                            => {
                                                       categories   => ["Other"],
                                                       description  => "A modern image format based on the [HEVC video format](/hevc). HEIC generally has better compression than [WebP](/webp), JPEG, PNG and GIF. It is hard for browsers to support HEIC because it is [complex and expensive to license](https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding#Patent_licensing). [AVIF](/avif) and [JPEG XL](/jpegxl) provide free licenses and are designed to supersede HEIC.",
                                                       keywords     => "heic,hevc",
                                                       links        => [
                                                                         {
                                                                           title => "Wikipedia article",
                                                                           url => "https://en.wikipedia.org/wiki/High_Efficiency_Image_File_Format",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=HEIF",
                                                                         },
                                                                         {
                                                                           title => "WebKit support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=230035",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Was supported natively in macOS/iOS, but was not supported in Safari.",
                                                                       },
                                                       spec         => "https://nokiatech.github.io/heif/technical.html",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n" },
                                                                         edge    => { "5.5" => "n" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.0-11.2" => "n #1", "16.6-16.7" => "n", "17.0" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n" },
                                                                         safari  => { "3.1" => "n", "11" => "n #1", "17.0" => "y" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "other",
                                                       title        => "HEIF/HEIC image format",
                                                       ucprefix     => 0,
                                                     },
                "hevc"                            => {
                                                       categories   => ["Other"],
                                                       description  => "The High Efficiency Video Coding (HEVC) compression standard is a video compression format intended to succeed H.264. It is hard for browsers to universally support HEVC because it is [complex and expensive to license](https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding#Patent_licensing). HEVC competes with [AV1](/av1) which has similar compression quality and provides a free license.",
                                                       keywords     => "h265",
                                                       links        => [
                                                                         {
                                                                           title => "Firefox support bug (WONTFIX)",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?format=default&id=1332136",
                                                                         },
                                                                         {
                                                                           title => "Wikipedia article",
                                                                           url => "https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding",
                                                                         },
                                                                         {
                                                                           title => "Chrome support bug (WontFix)",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=684382",
                                                                         },
                                                                         {
                                                                           title => "Firefox support via OS API bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1842838",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Supported only for devices with [hardware support](https://answers.microsoft.com/en-us/insider/forum/insider_apps-insider_wmp/windows-10-hevc-playback-yes-or-no/3c1ab780-a6b2-4b77-ac0f-9faeefd4680d)",
                                                                         2 => "Reported to work in certain Android devices with hardware support",
                                                                         3 => "Supported only on macOS High Sierra or later",
                                                                         4 => "Supported for all devices on macOS (>= Big Sur 11.0) and Android (>= 5.0) if Edge >= 107, for devices with [hardware support](https://techcommunity.microsoft.com/t5/discussions/updated-dev-channel-build-77-0-211-3-is-live/m-p/745801#M6548) on Windows (>= Windows 10 1709) when [HEVC video extensions from the Microsoft Store](https://apps.microsoft.com/store/detail/hevc-video-extension/9NMZLZ57R3T7) is installed",
                                                                         5 => "Supported for all devices on macOS (>= Big Sur 11.0) and Android (>= 5.0), for devices with [hardware support](https://github.com/StaZhu/enable-chromium-hevc-hardware-decoding) on Windows (>= Windows 8), and for devices with hardware support powered by VAAPI on Linux and ChromeOS",
                                                                         6 => "Supported for devices with hardware support (the range is the same as Edge) on Windows in Nightly only. 10-bit or higher colors are not supported.",
                                                                         7 => "Supported for devices with hardware support (the range is the same as Edge) on Windows only. Enabled by default in Nightly and can be enabled via the `media.wmf.hevc.enabled` pref in `about:config`. 10-bit or higher colors are not supported.",
                                                                         8 => "Supported for devices with hardware support, software fallback in some cases. See [details here on MDN](https://developer.mozilla.org/en-US/docs/Web/Media/Guides/Formats/Video_codecs#hevc_h.265).",
                                                                       },
                                                       parent       => "video",
                                                       spec         => "https://www.itu.int/rec/T-REC-H.265",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "a #5" },
                                                                         and_ff  => { 137 => "a #8" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 107 => "a #5" },
                                                                         edge    => { "5.5" => "n", "11" => "a #1", "79" => "a #4" },
                                                                         firefox => { 2 => "n", 120 => "n #6", 121 => "n d #7", 137 => "a #8" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.0-11.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "n #2" },
                                                                         opera   => { 9 => "n", 94 => "a #5" },
                                                                         safari  => { "3.1" => "n", "11" => "a #3", "13" => "y" },
                                                                         samsung => { "21" => "y", "4" => "n", "5.0-5.4" => "n #2" },
                                                                       },
                                                       status       => "other",
                                                       title        => "HEVC/H.265 video format",
                                                       ucprefix     => 0,
                                                     },
                "hidden"                          => {
                                                       categories   => ["HTML5"],
                                                       description  => "The `hidden` attribute may be applied to any element, and effectively hides elements similar to `display: none` in CSS.",
                                                       links        => [
                                                                         {
                                                                           title => "Article on hidden attribute",
                                                                           url => "https://davidwalsh.name/html5-hidden",
                                                                         },
                                                                       ],
                                                       notes        => "The hidden state can be easily overridden with a CSS `display` property set to anything other than `none`.",
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/interaction.html#the-hidden-attribute",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 6 => "y" },
                                                                         edge    => { "5.5" => "n", "11" => "y" },
                                                                         firefox => { 2 => "n", 4 => "y" },
                                                                         ie_mob  => { 10 => "n", 11 => "y" },
                                                                         ios_saf => { "3.2" => "n", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { "10" => "n", "11.1" => "y" },
                                                                         opera   => { "9" => "n", "11.1" => "y" },
                                                                         safari  => { "3.1" => "n", "5.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "hidden attribute",
                                                       ucprefix     => 0,
                                                     },
                "high-resolution-time"            => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5349124069130240,
                                                       description  => "Method to provide the current time in sub-millisecond resolution and such that it is not subject to system clock skew or adjustments. Called using `performance.now()`",
                                                       keywords     => "performance,now,testing",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Performance.now",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Performance.now()",
                                                                         },
                                                                         {
                                                                           title => "HTML5Rocks article",
                                                                           url => "https://developer.chrome.com/blog/when-milliseconds-are-not-enough-performance-now/",
                                                                         },
                                                                         {
                                                                           title => "SitePoint article",
                                                                           url => "https://www.sitepoint.com/discovering-the-high-resolution-time-api/",
                                                                         },
                                                                         {
                                                                           title => "Demo",
                                                                           url => "https://audero.it/demo/high-resolution-time-api-demo.html",
                                                                         },
                                                                       ],
                                                       notes        => "The timestamp is not actually high-resolution. To mitigate security threats such as Spectre, browsers currently round the result to varying degrees.",
                                                       notes_by_num => {
                                                                         1 => "In Firefox 55-57, the `privacy.resistFingerprinting` preference can be enabled to change the precision to 100ms.",
                                                                         2 => "In Firefox, the `privacy.resistFingerprinting` preference can be enabled to change the precision to 100ms or the value of `privacy.resistFingerprinting.reduceTimerPrecision.microseconds`, whichever is larger.",
                                                                         3 => "In Firefox 58-59, the `privacy.reduceTimerPrecision` preference is enabled by default and defaults to 20us.",
                                                                         4 => "In Firefox, the `privacy.reduceTimerPrecision` preference is enabled by default and defaults to 2ms.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/hr-time/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 20 => "y x", 24 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "n", 15 => "y", 55 => "y #1", 58 => "y #2 #3", 60 => "y #2 #4" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "8" => "y", "8.1-8.4" => "n", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "8" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "High Resolution Time API",
                                                       ucprefix     => 0,
                                                     },
                "history"                         => {
                                                       categories   => ["HTML5"],
                                                       description  => "Method of manipulating the user's browser's session history in JavaScript using `history.pushState`, `history.replaceState` and the `popstate` event.",
                                                       keywords     => "onpushstate,onreplacestate",
                                                       links        => [
                                                                         {
                                                                           title => "Introduction to history management",
                                                                           url => "https://www.adequatelygood.com/Saner-HTML5-History-Management.html",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Manipulating the browser history",
                                                                           url => "https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history",
                                                                         },
                                                                         { title => "Demo page", url => "https://html5demos.com/history" },
                                                                         {
                                                                           title => "History.js polyfill",
                                                                           url => "https://github.com/browserstate/history.js",
                                                                         },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-history-state",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/dom/History",
                                                                         },
                                                                       ],
                                                       notes        => "Older iOS versions and Android 4.0.4 claim support, but implementation is too buggy to be useful.",
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/browsers.html#dom-history-pushstate",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "2.2" => "y", "3" => "n", "4.2-4.3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "n", 5 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "n", 4 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "4.2-4.3" => "a", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "n", "11.1" => "y" },
                                                                         opera   => { "9" => "n", "11.5" => "y" },
                                                                         safari  => { "3.1" => "n", "5" => "a", "6" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Session history management",
                                                       ucprefix     => 0,
                                                     },
                "html-media-capture"              => {
                                                       categories   => ["HTML5"],
                                                       description  => "Facilitates user access to a device's media capture mechanism, such as a camera, or microphone, from within a file upload control.",
                                                       keywords     => "htmlmediacapture, html media capture, media capture, mediacapture",
                                                       links        => [
                                                                         {
                                                                           title => "Correct Syntax for HTML Media Capture",
                                                                           url => "https://addpipe.com/blog/correct-syntax-html-media-capture/",
                                                                         },
                                                                         {
                                                                           title => "Programming the Mobile Web: File upload compatibility table",
                                                                           url => "https://books.google.com.au/books?id=gswdarRZVUoC&pg=PA263&dq=%22file+upload+compatibility+table%22",
                                                                         },
                                                                         {
                                                                           title => "HTML Media Capture Test Bench",
                                                                           url => "https://addpipe.com/html-media-capture-demo/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Does not support the capture attribute used to force capture straight from the device's camera or microphone. Also note that default video dimensions are 480x320 (4:3).",
                                                                         2 => "Android 2.2-2.3 do not support the capture attribute",
                                                                         3 => "Supports a \"capture\" button for any `<input type=\"file\"> field, regardless of whether the capture attribute is used.",
                                                                       },
                                                       spec         => "https://w3c.github.io/html-media-capture/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "2.2" => "y #2", "3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "u" },
                                                                         and_uc  => { "15.5" => "a #3" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "u", 10 => "y" },
                                                                         chrome  => { 4 => "n" },
                                                                         edge    => { "5.5" => "n" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "6.0-6.1" => "y #1" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "HTML Media Capture",
                                                       ucprefix     => 0,
                                                     },
                "html5semantic"                   => {
                                                       categories   => ["HTML5"],
                                                       description  => "HTML5 offers some new elements, primarily for semantic purposes. The elements include: `section`, `article`, `aside`, `header`, `footer`, `nav`, `figure`, `figcaption`, `time`, `mark` & `main`.",
                                                       keywords     => "section,article,aside,header,footer,nav,figure,figcaption,time,mark,main,<section>,<article>,<aside>,<header>,<footer>,<nav>,<figure>,<figcaption>,<time>,<mark>,<main>",
                                                       links        => [
                                                                         {
                                                                           title => "Workaround for IE",
                                                                           url => "https://blog.whatwg.org/supporting-new-elements-in-ie",
                                                                         },
                                                                         {
                                                                           title => "Alternate workaround",
                                                                           url => "https://blog.whatwg.org/styling-ie-noscript",
                                                                         },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/dom.js#dom-html5-elements",
                                                                         },
                                                                         {
                                                                           title => "Chrome Platform Status: `<time>` element",
                                                                           url => "https://www.chromestatus.com/feature/5633937149788160",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to missing the default styling, as technically the elements are considered \"[unknown](https://developer.mozilla.org/en-US/docs/Web/API/HTMLUnknownElement)\". This is easily taken care of by manually setting the default `display` value for each tag.",
                                                                         2 => "Partial support refers to only the `<main>` element (added later to the spec) being \"unknown\", though it can still be used and styled.",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/semantics.html#sections",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a #1", "2.2" => "a #2", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a #2" },
                                                                         chrome  => { 4 => "a #1", 6 => "a #2", 26 => "y" },
                                                                         edge    => { "5.5" => "n", "6" => "p", "9" => "a #2", "12" => "y" },
                                                                         firefox => { 2 => "n", 3 => "a #1", 4 => "a #2", 21 => "y" },
                                                                         ie_mob  => { 10 => "a #2" },
                                                                         ios_saf => { "3.2" => "a #1", "4.0-4.1" => "a #2", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "a #1" },
                                                                         op_mob  => { 10 => "a #1", 11 => "a #2", 80 => "y" },
                                                                         opera   => { "9" => "a #1", "11.1" => "a #2", "15" => "y" },
                                                                         safari  => { "3.1" => "a #1", "5" => "a #2", "6.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "HTML5 semantic elements",
                                                       ucprefix     => 0,
                                                     },
                "http-live-streaming"             => {
                                                       categories   => ["Other"],
                                                       description  => "HTTP-based media streaming communications protocol",
                                                       keywords     => "apple http live streaming,m3u8",
                                                       links        => [
                                                                         {
                                                                           title => "Wikipedia article",
                                                                           url => "https://en.wikipedia.org/wiki/HTTP_Live_Streaming",
                                                                         },
                                                                         {
                                                                           title => "Apple developer article",
                                                                           url => "https://developer.apple.com/streaming/",
                                                                         },
                                                                       ],
                                                       notes        => "HLS can be used with a JavaScript library in browsers that doesn't support it natively as long as they support [Media Source Extensions](/mediasource).",
                                                       notes_by_num => {},
                                                       spec         => "https://tools.ietf.org/html/rfc8216",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n" },
                                                                         edge    => { "5.5" => "n", "12" => "y", "79" => "n" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n" },
                                                                         safari  => { "3.1" => "n", "6" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "HTTP Live Streaming (HLS)",
                                                       ucprefix     => 0,
                                                     },
                "http2"                           => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 5152586365665280,
                                                       description  => "Networking protocol for low-latency transport of content over the web. Originally started out from the SPDY protocol, now standardized as HTTP version 2.",
                                                       keywords     => "https/2",
                                                       links        => [
                                                                         {
                                                                           title => "Wikipedia article about HTTP/2",
                                                                           url => "https://en.wikipedia.org/wiki/HTTP/2",
                                                                         },
                                                                         {
                                                                           title => "Browser support test",
                                                                           url => "https://http2.akamai.com/demo",
                                                                         },
                                                                       ],
                                                       notes        => "HTTP/2 is only supported over TLS (HTTPS). See also the precursor of HTTP/2, [the SPDY protocol](https://caniuse.com/#feat=spdy), which has been deprecated and removed from most browsers, in favor of HTTP/2.",
                                                       notes_by_num => {
                                                                         1 => "Partial support in Internet Explorer refers to being limited to Windows 10.",
                                                                         2 => "Partial support in Safari refers to being limited to OS X 10.11 El Capitan and newer.",
                                                                         3 => "Only supports HTTP/2 if the server supports protocol negotiation via ALPN.",
                                                                       },
                                                       spec         => "https://tools.ietf.org/html/rfc7540",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y #3" },
                                                                         and_ff  => { 137 => "y #3" },
                                                                         and_qq  => { "14.9" => "y #3" },
                                                                         and_uc  => { "15.5" => "y #3" },
                                                                         baidu   => { "13.52" => "y #3" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 41 => "y", 51 => "y #3" },
                                                                         edge    => { "5.5" => "n", "11" => "a #1", "12" => "y", "79" => "y #3" },
                                                                         firefox => { 2 => "n", 36 => "y", 53 => "y #3" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "y", "3.0-3.1" => "y #3" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y #3" },
                                                                         opera   => { 9 => "n", 28 => "y", 38 => "y #3" },
                                                                         safari  => { "3.1" => "n", "9" => "a #2", "11" => "y" },
                                                                         samsung => { "4" => "y", "5.0-5.4" => "y #3" },
                                                                       },
                                                       status       => "other",
                                                       title        => "HTTP/2 protocol",
                                                       ucprefix     => 0,
                                                     },
                "http3"                           => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 5338403830759424,
                                                       description  => "Third version of the HTTP networking protocol which uses QUIC as transport protocol. Previously known as HTTP-over-QUIC, now standardized as HTTP/3.",
                                                       keywords     => "https/3",
                                                       links        => [
                                                                         {
                                                                           title => "Wikipedia article about HTTP/3",
                                                                           url => "https://en.wikipedia.org/wiki/HTTP/3",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled in Firefox via the `network.http.http3.enabled` pref in `about:config`.",
                                                                         2 => "Can be enabled in Chrome(Chromium) via the `--enable-quic` & `--quic-version=h3-23` command line arguments.",
                                                                         3 => "Can be enabled in Chrome(Chromium) via the `--enable-quic` & `--quic-version=h3-29` command line arguments.",
                                                                         4 => "Requires macOS 11 Big Sur or later.",
                                                                         5 => "Since Sept 2024, HTTP3 is enabled for all users of Safari 16 and newer. Before then, it was enabled for a subset of users. Enabling the feature flag ensured support.",
                                                                       },
                                                       spec         => "https://datatracker.ietf.org/doc/rfc9114/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 79 => "n d #2", 85 => "n d #3", 87 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "n d #2", "85" => "n d #3", "87" => "y" },
                                                                         firefox => { 2 => "n", 72 => "n d #1", 88 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => {
                                                                                      "14.0-14.4" => "a d #5",
                                                                                      "16.0"      => "y d #5",
                                                                                      "16.4"      => "y #5",
                                                                                      "18.0"      => "y",
                                                                                      "3.2"       => "n",
                                                                                    },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 73 => "n d #3", 74 => "y" },
                                                                         safari  => {
                                                                                      "3.1"  => "n",
                                                                                      "14"   => "a d #4 #5",
                                                                                      "16.0" => "y d #5",
                                                                                      "16.4" => "y #5",
                                                                                      "18.0" => "y",
                                                                                    },
                                                                         samsung => { "4" => "n", "14.0" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "HTTP/3 protocol",
                                                       ucprefix     => 0,
                                                     },
                "iframe-sandbox"                  => {
                                                       categories   => ["HTML5", "Security"],
                                                       chrome_id    => 5715536319086592,
                                                       description  => "Method of running external site pages with reduced privileges (e.g. no JavaScript) in iframes.",
                                                       links        => [
                                                                         {
                                                                           title => "Chromium blog article",
                                                                           url => "https://blog.chromium.org/2010/05/security-in-depth-html5s-sandbox.html",
                                                                         },
                                                                         {
                                                                           title => "MSDN article",
                                                                           url => "https://msdn.microsoft.com/en-us/hh563496",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/html/attributes/sandbox",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/iframe-embed-object.html#attr-iframe-sandbox",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "2.2" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "n", 5 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "n", 17 => "a", 28 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "4.0-4.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "5" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "sandbox attribute for iframes",
                                                       ucprefix     => 0,
                                                     },
                "iframe-seamless"                 => {
                                                       categories   => ["HTML5"],
                                                       chrome_id    => 6630329993396224,
                                                       description  => "The seamless attribute makes an iframe's contents actually part of a page, and adopts the styles from its hosting page. The attribute has been removed from both [the WHATWG](https://github.com/whatwg/html/issues/331) and [the W3C](https://github.com/w3c/html/pull/325) HTML5 specifications.",
                                                       links        => [
                                                                         {
                                                                           title => "Experimental polyfill",
                                                                           url => "https://github.com/ornj/seamless-polyfill",
                                                                         },
                                                                         {
                                                                           title => "Article",
                                                                           url => "https://labs.ft.com/2013/01/seamless-iframes-not-quite-seamless/",
                                                                         },
                                                                         {
                                                                           title => "Bug on Firefox support: wontfix",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=631218",
                                                                         },
                                                                       ],
                                                       notes        => "Chrome 20-26 had partial support behind a flag, though this was [later removed](https://bugs.chromium.org/p/chromium/issues/detail?id=229421).",
                                                       notes_by_num => {
                                                                         1 => "Hides the border of seamless iframes and recognizes the 'seamless' DOM property, but does not provide actual support.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/2011/WD-html5-20110525/the-iframe-element.html#attr-iframe-seamless",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 20 => "n d", 27 => "n" },
                                                                         edge    => { "5.5" => "n" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "7.0-7.1" => "n #1", "8" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n" },
                                                                         safari  => { "3.1" => "n", "7" => "n #1", "8" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "seamless attribute for iframes",
                                                       ucprefix     => 0,
                                                     },
                "iframe-srcdoc"                   => {
                                                       categories   => ["HTML5"],
                                                       chrome_id    => 5222955109842944,
                                                       description  => "Override the content specified in the `src` attribute (if present) with HTML content within the attribute.",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - iframe",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe",
                                                                         },
                                                                         {
                                                                           title => "Srcdoc Polyfill",
                                                                           url => "https://github.com/jugglinmike/srcdoc-polyfill",
                                                                         },
                                                                         {
                                                                           title => "Article",
                                                                           url => "https://bocoup.com/weblog/third-party-javascript-development-future/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/embedded-content.html#attr-iframe-srcdoc",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "p", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "p", 10 => "y" },
                                                                         chrome  => { 4 => "n", 14 => "p", 20 => "y" },
                                                                         edge    => { "5.5" => "n", "6" => "p", "79" => "y" },
                                                                         firefox => { 2 => "n", 3 => "p", 25 => "y" },
                                                                         ie_mob  => { 10 => "p" },
                                                                         ios_saf => { "3.2" => "n", "4.0-4.1" => "p", "6.0-6.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "n", "11.1" => "p", "80" => "y" },
                                                                         opera   => { "9" => "n", "11.1" => "p", "15" => "y" },
                                                                         safari  => { "3.1" => "n", "4" => "p", "6" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "srcdoc attribute for iframes",
                                                       ucprefix     => 0,
                                                     },
                "imagecapture"                    => {
                                                       categories   => ["DOM", "JS API"],
                                                       description  => "The Image Capture API provides access to the Video Camera for taking photos while configuring picture-specific settings such as e.g. zoom or auto focus metering area.",
                                                       keywords     => "camera,device,photos,media stream,mediastream,Image Capture API",
                                                       links        => [
                                                                         {
                                                                           title => "Minimal code pen",
                                                                           url => "https://codepen.io/miguelao/pen/ZOkOQw",
                                                                         },
                                                                         {
                                                                           title => "Extended demo",
                                                                           url => "https://rawgit.com/Miguelao/demos/master/imagecapture.html",
                                                                         },
                                                                         {
                                                                           title => "Firefox tracking bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=888177",
                                                                         },
                                                                       ],
                                                       notes        => "Firefox supports the `takePhoto()` method only (when flag is enabled).",
                                                       notes_by_num => {
                                                                         1 => "Can be enabled via the about:config entry dom.imagecapture.enabled.",
                                                                         2 => "Can be enabled via the Experimental Web Platform Features flag.",
                                                                         3 => "Partial support refers to not supporting `grabFrame()`.",
                                                                       },
                                                       parent       => "stream",
                                                       spec         => "https://w3c.github.io/mediacapture-image/#imagecaptureapi",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 53 => "n d #2", 59 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 35 => "n d #1" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n d #1" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 40 => "n d #2", 46 => "y" },
                                                                         safari  => { "3.1" => "n", "TP" => "a #3" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "ImageCapture API",
                                                       ucprefix     => 0,
                                                     },
                "ime"                             => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 6366722080636928,
                                                       description  => "Provides scripted access to the Input Method Editor (IME). An IME is often used to input characters from East Asian languages by typing roman characters and selecting from the resulting suggestions.",
                                                       keywords     => "ime,cjk,input,internationalization,inputMethodContext,candidatewindow,composition",
                                                       links        => [
                                                                         {
                                                                           title => "Building Better Input Experience for East Asian Users with the IME API in IE11",
                                                                           url => "https://web.archive.org/web/20140403042251/http://blogs.msdn.com/b/ie/archive/2014/03/31/building-better-input-experience-for-east-asian-users-with-the-ime-api-in-ie11.aspx",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Prefixed implementation uses `msGetInputContext()` method from an earlier version of the spec to get the `InputMethodContext`, rather than the `inputMethodContext` attribute. Also includes support for `getCompositionAlternatives()` from the latest Editor'",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/ime-api/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n" },
                                                                         edge    => { "5.5" => "n", "11" => "y x #1", "79" => "n" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n", 11 => "y x #1" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Input Method Editor API",
                                                       ucprefix     => 0,
                                                     },
                "img-naturalwidth-naturalheight"  => {
                                                       categories => ["DOM", "HTML5"],
                                                       description => "Properties defining the intrinsic width and height of the image, rather than the displayed width & height.",
                                                       links => [
                                                         {
                                                           title => "Blog post on support in IE",
                                                           url => "https://www.jacklmoore.com/notes/naturalwidth-and-naturalheight-in-ie/",
                                                         },
                                                         {
                                                           title => "gist on getting natural width & height in older IE",
                                                           url => "https://gist.github.com/jalbertbowden/5273983",
                                                         },
                                                       ],
                                                       notes_by_num => {},
                                                       spec => "https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-naturalwidth",
                                                       stats => {
                                                         and_chr => { "2.1" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "y" },
                                                         chrome  => { 4 => "y" },
                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                         firefox => { 2 => "y" },
                                                         ie_mob  => { 10 => "y" },
                                                         ios_saf => { "3.2" => "y" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "y" },
                                                         op_mob  => { 10 => "y" },
                                                         opera   => { 9 => "y" },
                                                         safari  => { "3.1" => "y" },
                                                         samsung => { 4 => "y" },
                                                       },
                                                       status => "ls",
                                                       title => "naturalWidth & naturalHeight image properties",
                                                       ucprefix => 0,
                                                     },
                "import-maps"                     => {
                                                       categories   => ["JS"],
                                                       chrome_id    => 5315286962012160,
                                                       description  => "Import maps allow control over what URLs get fetched by JavaScript `import` statements and `import()` expressions.",
                                                       keywords     => "importmap",
                                                       links        => [
                                                                         {
                                                                           title => "Proposal information",
                                                                           url => "https://github.com/WICG/import-maps#readme",
                                                                         },
                                                                         {
                                                                           title => "Using ES modules in browsers with import-maps",
                                                                           url => "https://blog.logrocket.com/es-modules-in-browsers-with-import-maps/",
                                                                         },
                                                                         {
                                                                           title => "Firefox feature request bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1688879",
                                                                         },
                                                                         {
                                                                           title => "WebKit feature request bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=220823",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled via the \"Experimental Web Platform features\" flag at `about:flags`.",
                                                                         2 => "Can be enabled via the `dom.importMaps.enabled` pref in `about:config`.",
                                                                       },
                                                       spec         => "https://wicg.github.io/import-maps/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 74 => "n d #1", 89 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "n d #1", "89" => "y" },
                                                                         firefox => { 2 => "n", 102 => "n d #2", 108 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "16.4" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 62 => "n d #1", 76 => "y" },
                                                                         safari  => { "3.1" => "n", "16.4" => "y" },
                                                                         samsung => { "4" => "n", "15.0" => "y" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Import maps",
                                                       ucprefix     => 0,
                                                     },
                "imports"                         => {
                                                       categories   => ["DOM", "HTML5"],
                                                       chrome_id    => 5144752345317376,
                                                       description  => "Deprecated method of including and reusing HTML documents in other HTML documents. Superseded by ES modules.",
                                                       keywords     => "webcomponents",
                                                       links        => [
                                                                         {
                                                                           title => "HTML5Rocks - HTML Imports: #include for the web",
                                                                           url => "https://www.html5rocks.com/tutorials/webcomponents/imports/",
                                                                         },
                                                                         {
                                                                           title => "Chromium tracking bug: Implement HTML Imports",
                                                                           url => "https://code.google.com/p/chromium/issues/detail?id=240592",
                                                                         },
                                                                         {
                                                                           title => "Firefox tracking bug: Implement HTML Imports",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=877072",
                                                                         },
                                                                         {
                                                                           title => "IE Web Platform Status and Roadmap: HTML Imports",
                                                                           url => "https://developer.microsoft.com/en-us/microsoft-edge/status/htmlimports/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/html-imports/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "p" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 30 => "n d", 35 => "p d", 36 => "y", 80 => "n" },
                                                                         edge    => { "5.5" => "n", "10" => "p", "79" => "y", "80" => "n" },
                                                                         firefox => { 2 => "n", 30 => "p", 32 => "p d", 56 => "p" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "7.0-7.1" => "p" },
                                                                         kaios   => { "2.5" => "y", "3.0-3.1" => "p" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 17 => "n d", 22 => "p d", 23 => "y", 67 => "n" },
                                                                         safari  => { "3.1" => "n", "6" => "p" },
                                                                         samsung => { "4" => "y", "13.0" => "n" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "HTML Imports",
                                                       ucprefix     => 0,
                                                     },
                "indeterminate-checkbox"          => {
                                                       categories   => ["DOM", "HTML5"],
                                                       description  => "Indeterminate checkboxes are displayed in a state which is distinct both from being checked or being unchecked. They are commonly used in hierarchical checkboxes to indicate that only some of the checkbox's descendants are checked.",
                                                       links        => [
                                                                         {
                                                                           title => "CSS-Tricks article",
                                                                           url => "https://css-tricks.com/indeterminate-checkboxes/",
                                                                         },
                                                                         {
                                                                           title => "iOS versions below 12 don't support indeterminate checkboxes (WebKit Bug 160484)",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=160484",
                                                                         },
                                                                       ],
                                                       notes        => "Indeterminacy does not affect a checkbox's checkedness state. It merely affects how the checkbox is displayed.",
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/#dom-input-indeterminate",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 28 => "y" },
                                                                         edge    => { "5.5" => "u", "6" => "y" },
                                                                         firefox => { "2" => "n", "3.5" => "u", "3.6" => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "12.2-12.5" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { "9" => "n", "11.6" => "y" },
                                                                         safari  => { "3.1" => "n", "6" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "indeterminate checkbox",
                                                       ucprefix     => 0,
                                                     },
                "indexeddb"                       => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 6507459568992256,
                                                       description  => "Method of storing data client-side, allows indexed database queries.",
                                                       keywords     => "indexdb",
                                                       links        => [
                                                                         {
                                                                           title => "Mozilla Hacks article",
                                                                           url => "https://hacks.mozilla.org/2010/06/comparing-indexeddb-and-webdatabase/",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for browsers supporting WebSQL",
                                                                           url => "https://github.com/axemclion/IndexedDBShim",
                                                                         },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-indexeddb",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/apis/indexeddb",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support in IE 10 & 11 refers to a number of subfeatures [not being supported](https://indexdb-support-test.glitch.me/). Edge does not support IndexedDB inside blob web workers. [See issue](https://web.archive.org/web/20171213082727/https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/5942817/)",
                                                                         2 => "Partial support in Safari 7.1 \x{2013} 9.3 refers to [seriously buggy behavior](http://www.raymondcamden.com/2014/09/25/IndexedDB-on-iOS-8-Broken-Bad/) as well as a lack of support in WebViews.",
                                                                         3 => "Partial support [refers to a bug](https://bugs.webkit.org/show_bug.cgi?id=226547) in Safari 14.1.1 that causes indexedDB to not load when the browser is initially opened.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/IndexedDB/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "p", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "p", 10 => "y" },
                                                                         chrome  => { 4 => "p", 10 => "n", 11 => "a x", 23 => "y x", 24 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "a #1", "79" => "y" },
                                                                         firefox => { 2 => "n", 4 => "a x", 10 => "y x", 16 => "y" },
                                                                         ie_mob  => { 10 => "a #1" },
                                                                         ios_saf => {
                                                                                      "10.0-10.2" => "y",
                                                                                      "14.5-14.8" => "a #3",
                                                                                      "15.0-15.1" => "y",
                                                                                      "3.2" => "p",
                                                                                      "8" => "a #2",
                                                                                    },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 11 => "p", 80 => "y" },
                                                                         opera   => { "9" => "n", "10.5" => "p", "15" => "y" },
                                                                         safari  => { "3.1" => "p", "7.1" => "a #2", "10" => "y", "14.1" => "a #3", "15" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "IndexedDB",
                                                       ucprefix     => 0,
                                                     },
                "indexeddb2"                      => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => "5812621622116352,6571252802125824,6537756637396992",
                                                       description  => "Improvements to Indexed DB, including getAll(), renaming stores and indexes, and binary keys.",
                                                       keywords     => "indexdb,indexeddb,idb",
                                                       links        => [
                                                                         {
                                                                           title => "Mozilla Hacks: What's new in IndexedDB 2.0?",
                                                                           url => "https://hacks.mozilla.org/2016/10/whats-new-in-indexeddb-2-0/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - IndexedDB API",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Missing: IDBKeyRange includes(), renaming stores/indexes, binary keys, IDBObjectStore getKey(), IDBCursor continuePrimaryKey()",
                                                                         2 => "Missing: Renaming stores/indexes, binary keys, IDBObjectStore getKey(), IDBCursor continuePrimaryKey()",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/IndexedDB-2/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 48 => "a #1", 52 => "a #2", 58 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 44 => "a #1", 47 => "a #2", 51 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.0-10.2" => "u", "10.3" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "a #2", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 35 => "a #1", 39 => "a #2", 45 => "y" },
                                                                         safari  => { "3.1" => "n", "10.1" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "a #2", "7.2-7.4" => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "IndexedDB 2.0",
                                                       ucprefix     => 0,
                                                     },
                "inline-block"                    => {
                                                       categories   => ["CSS2"],
                                                       description  => "Method of displaying an element as a block while flowing it with text. ",
                                                       keywords     => "inlineblock,display:inline-block",
                                                       links        => [
                                                                         {
                                                                           title => "Blog post w/info",
                                                                           url => "https://robertnyman.com/2010/02/24/css-display-inline-block-why-it-rocks-and-why-it-sucks/",
                                                                         },
                                                                         {
                                                                           title => "Info on cross browser support",
                                                                           url => "https://blog.mozilla.org/webdev/2009/02/20/cross-browser-inline-block/",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/properties/display",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Only supported in IE6 and IE7 on elements with a display of \"inline\" by default. [Alternative properties](http://blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block/) are available to provide complete cross-browser support.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/CSS21/visuren.html#fixed-positioning",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "a", "6" => "a #1", "8" => "y" },
                                                                         firefox => { 2 => "a x", 3 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { 9 => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "CSS inline-block",
                                                       ucprefix     => 0,
                                                     },
                "innertext"                       => {
                                                       categories   => ["DOM"],
                                                       description  => "A property representing the text within a DOM element and its descendants. As a getter, it approximates the text the user would get if they highlighted the contents of the element with the cursor and then copied to the clipboard.",
                                                       keywords     => "inner,text,content",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - innerText",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/innerText",
                                                                         },
                                                                         {
                                                                           title => "WHATWG Compatibility Standard issue #5: spec innerText",
                                                                           url => "https://github.com/whatwg/compat/issues/5",
                                                                         },
                                                                         {
                                                                           title => "Rangy, a JS range and selection library which contains an innerText implementation",
                                                                           url => "https://github.com/timdown/rangy",
                                                                         },
                                                                         {
                                                                           title => "Standardizing innerText \x{2013} Web Incubator Community Group (WICG) discussion",
                                                                           url => "https://discourse.wicg.io/t/standardizing-innertext/799",
                                                                         },
                                                                       ],
                                                       notes        => "This test only checks that the property exists and works correctly in a very simple case.\r\n[This blog post by kangax](http://perfectionkills.com/the-poor-misunderstood-innerText/) explains the history of this property, gives much more detailed cross-browser compatibility information, and gives a detailed strawman specification for the property.\r\n`HTMLElement.innerText` is similar to, but has some important differences from, the standard [`Node.textContent`](https://caniuse.com/#feat=textcontent) property.",
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/dom.html#the-innertext-idl-attribute",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "u", "6" => "y" },
                                                                         firefox => { 2 => "n", 45 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "u", "4.0-4.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { "9" => "u", "9.5-9.6" => "y" },
                                                                         safari  => { "3.1" => "u", "3.2" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "HTMLElement.innerText",
                                                       ucprefix     => 0,
                                                     },
                "input-autocomplete-onoff"        => {
                                                       categories   => ["DOM"],
                                                       description  => "The `autocomplete` attribute for `input` elements indicates to the browser whether a value should or should not be autofilled when appropriate.",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - autocomplete attribute",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-autocomplete",
                                                                         },
                                                                       ],
                                                       notes        => "This support information does not include support for other `autocomplete` values.\r\n\r\nAs described in detail below, many modern browsers ignore the `off` value on certain fields in certain cases intentionally in order to give the user more control over autofilling fields. One example is the use of password managers.",
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to ignoring the `off` value for password fields. [see related blog post](http://blogs.msdn.com/b/ieinternals/archive/2009/09/10/troubleshooting-stored-login-problems-in-ie.aspx)",
                                                                         2 => "Partial support in Chrome refers to the browser intentionally ignoring `autocomplete=\"off\"` when the user uses the browser's autofill functionality. [see bug](https://code.google.com/p/chromium/issues/detail?id=468153#c29)",
                                                                         3 => "Partial support in Firefox refers to ignoring `autocomplete=\"off\"` for login forms. [see bug](https://bugzilla.mozilla.org/show_bug.cgi?id=956906)",
                                                                         4 => "Browser does not display previously submitted values as options with `on` value.",
                                                                         5 => "Safari ignores the `off` value for [username, email and password fields](https://stackoverflow.com/questions/22661977/disabling-safari-autofill-on-usernames-and-passwords)",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/forms.html#autofill",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "a #2" },
                                                                         and_uc  => { "15.5" => "y #4" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "n", 17 => "y", 27 => "a #1", 41 => "a #2" },
                                                                         edge    => { "5.5" => "y", "11" => "a #1", "79" => "a #2" },
                                                                         firefox => { 2 => "y", 30 => "a #3" },
                                                                         ie_mob  => { 10 => "a #5" },
                                                                         ios_saf => { "3.2" => "n", "5.0-5.1" => "y #4" },
                                                                         kaios   => { "2.5" => "a #3" },
                                                                         op_mini => { all => "y #4" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { 9 => "y" },
                                                                         safari  => { "3.1" => "n", "5.1" => "y", "7" => "a #5" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "autocomplete attribute: on & off values",
                                                       ucprefix     => 0,
                                                     },
                "input-color"                     => {
                                                       categories   => ["HTML5"],
                                                       description  => "Form field allowing the user to select a color.",
                                                       keywords     => "colour,input type=\"color\"",
                                                       links        => [
                                                                         {
                                                                           title => "Polyfill",
                                                                           url => "https://github.com/jonstipe/color-polyfill",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/html/elements/input/type/color",
                                                                         },
                                                                         {
                                                                           title => "MDN web docs",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/color",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Supported through WKWebView and Safari but not through UIWebView",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/forms.html#color-state-(type=color)",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "n", 20 => "y" },
                                                                         edge    => { "5.5" => "n", "14" => "y" },
                                                                         firefox => { 2 => "n", 29 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "12.2-12.5" => "y #1", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { 9 => "n", 11 => "y", 15 => "n", 17 => "y" },
                                                                         safari  => { "3.1" => "n", "12.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Color input type",
                                                       ucprefix     => 0,
                                                     },
                "input-datetime"                  => {
                                                       categories   => ["HTML5"],
                                                       chrome_id    => 6640933999214592,
                                                       description  => "Form field widgets to easily allow users to enter a date, time or both, generally by using a calendar/time input widget. Refers to supporting the following input types: `date`, `time`, `datetime-local`, `month` & `week`.",
                                                       keywords     => "datepicker,timepicker,inputdate,input type=\"date\",input type=\"time\",input date,datetime-local",
                                                       links        => [
                                                                         {
                                                                           title => "Datepicker tutorial w/polyfill",
                                                                           url => "https://code.tutsplus.com/tutorials/quick-tip-create-cross-browser-datepickers-in-minutes--net-20236",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for HTML5 forms",
                                                                           url => "https://github.com/zoltan-dulac/html5Forms.js",
                                                                         },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/form.js#input-type-datetime-local",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/html/elements/input/type/date",
                                                                         },
                                                                         {
                                                                           title => "Bug on Firefox support",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=888320",
                                                                         },
                                                                         {
                                                                           title => "Bug for WebKit/Safari",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=119175",
                                                                         },
                                                                         {
                                                                           title => "Bug for WebKit/Safari",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=214946",
                                                                         },
                                                                       ],
                                                       notes        => "There used to also be a `datetime` type, but it was [dropped from the HTML spec](https://github.com/whatwg/html/issues/336).",
                                                       notes_by_num => {
                                                                         1 => "Partial support in Microsoft Edge refers to supporting `date`, `week`, and `month` input types, and not `time` and `datetime-local`.",
                                                                         2 => "Partial support in iOS Safari refers to not supporting the `week` input type, nor the `min`, `max` or `step` attributes.",
                                                                         3 => "Some modified versions of the Android 4.x browser do have support for date/time fields.",
                                                                         4 => "Can be enabled in Firefox using the `dom.forms.datetime` flag.",
                                                                         5 => "Partial support refers to supporting `date` and `time` input types, but not `datetime-local`, `month` or `week`.",
                                                                         6 => "Partial support refers to not supporting the `week` and `month` input type.",
                                                                         7 => "Does not support the `min`, `max` or `step` attributes on date inputs.",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/forms.html#date-state-(type=date)",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4" => "n #3", "4.4" => "y" },
                                                                         and_ff  => { 137 => "a #6" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 20 => "a #5", 25 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "a #1", "13" => "y" },
                                                                         firefox => { 2 => "n", 53 => "n d #4", 57 => "a #5", 93 => "a #6" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "18.2" => "y #7", "3.2" => "n", "5.0-5.1" => "a #2" },
                                                                         kaios   => { "2.5" => "a #5" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { 9 => "y" },
                                                                         safari  => { "3.1" => "n", "14.1" => "a #6" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Date and time input types",
                                                       ucprefix     => 0,
                                                     },
                "input-email-tel-url"             => {
                                                       categories   => ["HTML5"],
                                                       description  => "Text input fields intended for email addresses, telephone numbers or URLs. Particularly useful in combination with [form validation](https://caniuse.com/#feat=form-validation)",
                                                       keywords     => "input[type=email],input[type=tel],input[type=url],input type=\"email\",input type=\"tel\",input type=\"url\"",
                                                       links        => [
                                                                         {
                                                                           title => "Article on usage",
                                                                           url => "https://www.htmlgoodies.com/guides/html5-forms-how-to-use-the-new-email-url-and-telephone-input-types/#fbid=c9PEy7_9RZb",
                                                                         },
                                                                       ],
                                                       notes        => "Browsers without support for these types will fall back to using the \"text\" type.",
                                                       notes_by_num => {
                                                                         1 => "Does not provide an email-specific keyboard for email addresses",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/forms.html#telephone-state-(type=tel)",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a #1", "3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a #1", 10 => "y" },
                                                                         chrome  => { 4 => "n", 5 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "n", 4 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { "9" => "n", "9.5-9.6" => "y" },
                                                                         safari  => { "3.1" => "n", "5" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Email, telephone & URL input types",
                                                       ucprefix     => 0,
                                                     },
                "input-event"                     => {
                                                       categories   => ["DOM", "HTML5"],
                                                       description  => "The `input` event is fired when the user changes the value of an `<input>` element, `<select>` element, or `<textarea>` element. By contrast, the \"change\" event usually only fires after the form control has lost focus.",
                                                       keywords     => "oninput",
                                                       links        => [
                                                                         {
                                                                           title => "Specification for `<select>` elements firing the `input` event",
                                                                           url => "https://html.spec.whatwg.org/multipage/forms.html#send-select-update-notifications",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - input event",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/Events/input",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Doesn't fire an `input` event when deleting text (via Backspace, Delete, Cut, etc.).",
                                                                         2 => "Doesn't fire an `input` event when drag-and-dropping text into an `<input>` or `<textarea>`.",
                                                                         3 => "`<select>` doesn't fire `input` events. See [MS Edge bug](https://developer.microsoft.com/microsoft-edge/platform/issues/4660045/) and [Firefox bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1024350).",
                                                                         4 => "Doesn't fire an `input` event when (un)checking a checkbox or radio button, or when changing the selected file(s) of an `<input type=\"file\">`. See [Chrome bug](https://code.google.com/p/chromium/issues/detail?id=534245), [WebKit bug #149398](https://bugs.webkit.org/show_bug.cgi?id=149398), [WebKit bug #190223](https://bugs.webkit.org/show_bug.cgi?id=190223) and [Firefox bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1206616).",
                                                                         5 => "Doesn't fire an `input` event when (un)checking a checkbox or radio button. See [MS Edge bug](https://web.archive.org/web/20160328154136/https://connect.microsoft.com/IE/feedback/details/1883692/edge-input-of-type-radio-or-type-checkbox-doesnt-fire-input-events).",
                                                                         6 => "Doesn't fire an `input` event when changing the selected file(s) of an `<input type=\"file\">`. See [WebKit bug #149398](https://bugs.webkit.org/show_bug.cgi?id=149398) and [WebKit bug #204292](https://bugs.webkit.org/show_bug.cgi?id=204292).",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/forms.html#event-input-input",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "y #3 #4", "4.4.3-4.4.4" => "y #4" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y #3 #4", 10 => "y #4" },
                                                                         chrome  => { 4 => "u", 15 => "y #3 #4", 35 => "y #4", 66 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "a #1 #3 #5", "10" => "y #3 #5", "79" => "y" },
                                                                         firefox => { "2" => "u", "3" => "a #2 #3 #4", "3.6" => "y #3 #4", "49" => "y" },
                                                                         ie_mob  => { 10 => "y #3 #5" },
                                                                         ios_saf => {
                                                                                      "12.2-12.5" => "y #6",
                                                                                      "13.2" => "y",
                                                                                      "3.2" => "u",
                                                                                      "5.0-5.1" => "y #3 #4",
                                                                                      "8" => "y #4",
                                                                                    },
                                                                         kaios   => { "2.5" => "y #3 #4", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => {
                                                                                      "9"    => "u",
                                                                                      "11.6" => "a #2",
                                                                                      "12"   => "u",
                                                                                      "12.1" => "y",
                                                                                      "15"   => "y #3 #4",
                                                                                      "22"   => "y #4",
                                                                                      "52"   => "y",
                                                                                    },
                                                                         safari  => {
                                                                                      "3.1"  => "u",
                                                                                      "5.1"  => "y #3 #4",
                                                                                      "6"    => "u",
                                                                                      "6.1"  => "y #4",
                                                                                      "12.1" => "y #6",
                                                                                      "13.1" => "y",
                                                                                    },
                                                                         samsung => { 4 => "y #4" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "input event",
                                                       ucprefix     => 0,
                                                     },
                "input-file-accept"               => {
                                                       categories   => ["HTML5"],
                                                       description  => "Allows a filter to be defined for what type of files a user may pick with from an `<input type=\"file\">` dialog",
                                                       links        => [
                                                                         {
                                                                           title => "Demo & information",
                                                                           url => "https://www.wufoo.com/html5/attributes/07-accept.html",
                                                                         },
                                                                       ],
                                                       notes        => "Not supported means any file can be picked as if the `accept` attribute was not set, unless otherwise noted.\r\n\r\nOn Windows, files that do not apply are hidden. On OSX they are grayed out and disabled.",
                                                       notes_by_num => {
                                                                         1 => "Supports the type format (e.g. `image/*`) but not the extension format (e.g. `.png`)",
                                                                         2 => "Offers appropriate file locations/input based on format type, but does not prevent other files from being selected.",
                                                                         3 => "Does not allow any files to be picked at all",
                                                                         4 => "Supports the type format but does not allow any file to be picked when using the extension format",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/forms.html#attr-input-accept",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "3" => "a #2", "4.4" => "n #3" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "a #2" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "a #2" },
                                                                         bb      => { 7 => "a #2", 10 => "a #1" },
                                                                         chrome  => { 4 => "n", 5 => "u", 9 => "a #1", 21 => "u", 26 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y", "12" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 4 => "a #1", 37 => "y" },
                                                                         ie_mob  => { 10 => "n #3", 11 => "a #4" },
                                                                         ios_saf => { "3.2" => "n #3", "6.0-6.1" => "n", "8" => "a #1" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "n #3" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "6" => "a #1", "11.1" => "y" },
                                                                         samsung => { 4 => "a #2" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "accept attribute for file input",
                                                       ucprefix     => 0,
                                                     },
                "input-file-directory"            => {
                                                       categories   => ["DOM", "JS API"],
                                                       description  => "The `webkitdirectory` attribute on the `<input type=\"file\">` element allows entire directory with file contents (and any subdirectories) to be selected.",
                                                       keywords     => "mozdirectory,webkitRelativePath",
                                                       links        => [
                                                                         {
                                                                           title => "MDN article",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory",
                                                                         },
                                                                       ],
                                                       notes        => "Lack of support in mobile browsers may be due to the OS file picker not having support for selecting a directory.",
                                                       notes_by_num => {},
                                                       spec         => "https://wicg.github.io/entries-api/#dom-htmlinputelement-webkitdirectory",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 30 => "y" },
                                                                         edge    => { "5.5" => "n", "14" => "y" },
                                                                         firefox => { 2 => "n", 50 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 17 => "y" },
                                                                         safari  => { "3.1" => "n", "11.1" => "y" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Directory selection from file input",
                                                       ucprefix     => 0,
                                                     },
                "input-file-multiple"             => {
                                                       categories => ["HTML5"],
                                                       description => "Allows users to select multiple files in the file picker.",
                                                       links => [
                                                         {
                                                           title => "Chrome bug (for Android)",
                                                           url => "https://code.google.com/p/chromium/issues/detail?id=348912",
                                                         },
                                                         {
                                                           title => "Article",
                                                           url => "https://www.raymondcamden.com/2012/02/28/Working-with-HTML5s-multiple-file-upload-support",
                                                         },
                                                       ],
                                                       notes_by_num => {
                                                         1 => "Not supported on Android 4.x and below, presumably an OS limitation. Only seems to work in Android 5.x for the Chrome browser.",
                                                       },
                                                       spec => "https://html.spec.whatwg.org/multipage/forms.html#attr-input-multiple",
                                                       stats => {
                                                         and_chr => { "2.1" => "n #1" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "a #1" },
                                                         and_uc  => { "15.5" => "n #1" },
                                                         baidu   => { "13.52" => "a #1" },
                                                         bb      => { 7 => "n" },
                                                         chrome  => { 4 => "n", 5 => "y" },
                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                         firefox => { "2" => "n", "3.6" => "y" },
                                                         ie_mob  => { 10 => "n" },
                                                         ios_saf => { "3.2" => "n", "6.0-6.1" => "y" },
                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                         op_mini => { all => "n #1" },
                                                         op_mob  => { 10 => "n #1", 80 => "y" },
                                                         opera   => { "9" => "n", "10.6" => "y" },
                                                         safari  => { "3.1" => "n", "4" => "y" },
                                                         samsung => { "4" => "n #1", "5.0-5.4" => "a #1" },
                                                       },
                                                       status => "ls",
                                                       title => "Multiple file selection",
                                                       ucprefix => 0,
                                                     },
                "input-inputmode"                 => {
                                                       categories   => ["DOM", "HTML5"],
                                                       chrome_id    => 6225984592281600,
                                                       description  => "The `inputmode` attribute specifies what kind of input mechanism would be most helpful for users entering content into the form control.",
                                                       links        => [
                                                                         {
                                                                           title => "Demo on Wufoo (old)",
                                                                           url => "https://www.wufoo.com/html5/attributes/23-inputmode.html",
                                                                         },
                                                                         {
                                                                           title => "Everything You Ever Wanted to Know About inputmode (CSS Tricks)",
                                                                           url => "https://css-tricks.com/everything-you-ever-wanted-to-know-about-inputmode/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Support can be enabled via the `dom.forms.inputmode` flag",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/forms.html#input-modalities:-the-inputmode-attribute",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 56 => "n d", 66 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 17 => "a", 21 => "n d #1", 95 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "12.2-12.5" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n d #1" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 43 => "n d", 53 => "y" },
                                                                         safari  => { "3.1" => "n", "12.1" => "y" },
                                                                         samsung => { "4" => "n", "9.2" => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "inputmode attribute",
                                                       ucprefix     => 0,
                                                     },
                "input-minlength"                 => {
                                                       categories   => ["HTML5"],
                                                       chrome_id    => 6023370181181440,
                                                       description  => "Declares a lower bound on the number of characters a user can input.",
                                                       links        => [
                                                                         {
                                                                           title => "W3C usage example",
                                                                           url => "https://www.w3.org/TR/html5/forms.html#setting-minimum-input-length-requirements:-the-minlength-attribute",
                                                                         },
                                                                         {
                                                                           title => "Firefox tracking bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=932755",
                                                                         },
                                                                         {
                                                                           title => "WebKit feature request bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=149832",
                                                                         },
                                                                       ],
                                                       notes        => "The [`pattern` attribute](https://caniuse.com/#feat=input-pattern) can be used [as an alternative](https://stackoverflow.com/a/10294291) solution for browsers without support.",
                                                       notes_by_num => {},
                                                       parent       => "form-validation",
                                                       spec         => "https://html.spec.whatwg.org/multipage/forms.html#the-maxlength-and-minlength-attributes",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 40 => "y" },
                                                                         edge    => { "5.5" => "n", "17" => "y" },
                                                                         firefox => { 2 => "n", 51 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "10.3" => "y" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 27 => "y" },
                                                                         safari  => { "3.1" => "n", "10.1" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Minimum length attribute for input fields",
                                                       ucprefix     => 0,
                                                     },
                "input-number"                    => {
                                                       categories   => ["HTML5"],
                                                       description  => "Form field type for numbers.",
                                                       keywords     => "spinner,input type=\"number\"",
                                                       links        => [
                                                                         {
                                                                           title => "Polyfill",
                                                                           url => "https://github.com/jonstipe/number-polyfill",
                                                                         },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/form.js#input-type-number",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/html/elements/input/type/number",
                                                                         },
                                                                         {
                                                                           title => "Poor browser support for localized decimal marks, commas",
                                                                           url => "https://www.ctrl.blog/entry/html5-input-number-localization.html",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Does not support increment/decrement, either via buttons in UI or via arrow up & down keys.",
                                                                         2 => "UI widget does not take the \"step\", \"min\" or \"max\" attributes into account.",
                                                                         3 => "Firefox doesn't support [autocomplete content via datalist](https://codepen.io/graste/pen/bNoVKW) elements.",
                                                                         4 => "Does not include increment/decrement buttons, but does support increment/decrement via arrow up & down keys.",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/forms.html#number-state-(type=number)",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4" => "a #1 #2" },
                                                                         and_ff  => { 137 => "y #1 #3" },
                                                                         and_qq  => { "14.9" => "a #1 #2" },
                                                                         and_uc  => { "15.5" => "a #1 #2" },
                                                                         baidu   => { "13.52" => "a #1 #2" },
                                                                         bb      => { 7 => "n", 10 => "a #1 #2" },
                                                                         chrome  => { 4 => "n", 6 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y #1", "14" => "y #4", "79" => "y" },
                                                                         firefox => { 2 => "n", 29 => "y #3" },
                                                                         ie_mob  => { 10 => "a #1 #2" },
                                                                         ios_saf => { "3.2" => "a #1 #2" },
                                                                         kaios   => { "2.5" => "y #3" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "y", 80 => "a #1 #2" },
                                                                         opera   => { 9 => "y" },
                                                                         safari  => { "3.1" => "n", "5" => "y" },
                                                                         samsung => { 4 => "a #1 #2" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Number input type",
                                                       ucprefix     => 0,
                                                     },
                "input-pattern"                   => {
                                                       categories   => ["HTML5"],
                                                       description  => "Allows validation of an input field based on a given regular expression pattern.",
                                                       links        => [
                                                                         {
                                                                           title => "Site with common sample patterns",
                                                                           url => "https://www.html5pattern.com/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - input element: pattern attribute",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-pattern",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to not displaying a message for invalid patterns",
                                                                         2 => "Safari browsers support the `pattern` attribute but will still allow forms to be submitted if the pattern is incorrect. See the [form validation data](https://caniuse.com/#feat=form-validation) for details.",
                                                                       },
                                                       parent       => "form-validation",
                                                       spec         => "https://html.spec.whatwg.org/multipage/forms.html#the-pattern-attribute",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4.3-4.4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 10 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "n", 4 => "y" },
                                                                         ie_mob  => { 10 => "a #1" },
                                                                         ios_saf => { "10.3" => "y", "3.2" => "u", "5.0-5.1" => "a #1 #2" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { "9" => "n", "9.5-9.6" => "y" },
                                                                         safari  => { "3.1" => "n", "5" => "u", "5.1" => "a #1 #2", "10.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Pattern attribute for input fields",
                                                       ucprefix     => 0,
                                                     },
                "input-placeholder"               => {
                                                       categories => ["HTML5"],
                                                       description => "Method of setting placeholder text for text-like input fields, to suggest the expected inserted information.",
                                                       links => [
                                                         {
                                                           title => "Article on usage",
                                                           url => "https://www.zachleat.com/web/placeholder/",
                                                         },
                                                         {
                                                           title => "Polyfill",
                                                           url => "https://github.com/mathiasbynens/jquery-placeholder",
                                                         },
                                                         {
                                                           title => "has.js test",
                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/form.js#input-attr-placeholder",
                                                         },
                                                         {
                                                           title => "WebPlatform Docs",
                                                           url => "https://webplatform.github.io/docs/html/attributes/placeholder",
                                                         },
                                                         {
                                                           title => "Issue 24626: Placeholder text for an input type=",
                                                           url => "https://code.google.com/p/android/issues/detail?id=24626",
                                                         },
                                                       ],
                                                       notes_by_num => {
                                                         1 => "Partial support refers to lacking placeholder support on textarea elements.",
                                                       },
                                                       spec => "https://html.spec.whatwg.org/multipage/forms.html#attr-input-placeholder",
                                                       stats => {
                                                         and_chr => { "2.1" => "y", "4" => "a", "4.2-4.3" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "y" },
                                                         chrome  => { 4 => "y" },
                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                         firefox => { 2 => "n", 4 => "y" },
                                                         ie_mob  => { 10 => "y" },
                                                         ios_saf => { "3.2" => "y" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "y" },
                                                         op_mob  => { 10 => "n", 11 => "y" },
                                                         opera   => { "9" => "n", "11" => "a #1", "11.5" => "y" },
                                                         safari  => { "3.1" => "a #1", "5" => "y" },
                                                         samsung => { 4 => "y" },
                                                       },
                                                       status => "ls",
                                                       title => "input placeholder attribute",
                                                       ucprefix => 0,
                                                     },
                "input-range"                     => {
                                                       categories   => ["HTML5"],
                                                       description  => "Form field type that allows the user to select a value using a slider widget.",
                                                       keywords     => "input type=\"range\"",
                                                       links        => [
                                                                         {
                                                                           title => "Polyfill for Firefox",
                                                                           url => "https://github.com/fryn/html5slider",
                                                                         },
                                                                         {
                                                                           title => "Cross-browser polyfill",
                                                                           url => "https://github.com/freqdec/fd-slider",
                                                                         },
                                                                         {
                                                                           title => "Tutorial",
                                                                           url => "http://tutorialzine.com/2011/12/what-you-need-to-know-html5-range-input/",
                                                                         },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/form.js#input-type-range",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/html/elements/input/type/range",
                                                                         },
                                                                         {
                                                                           title => "rangeslider.js polyfill",
                                                                           url => "https://github.com/andreruffert/rangeslider.js",
                                                                         },
                                                                         {
                                                                           title => "MDN web docs",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/range",
                                                                         },
                                                                         {
                                                                           title => "Tutorial",
                                                                           url => "https://tutorialzine.com/2011/12/what-you-need-to-know-html5-range-input",
                                                                         },
                                                                       ],
                                                       notes        => "Currently all Android browsers with partial support hide the slider input field by default. However, the element [can be styled](https://tiffanybbrown.com/2012/02/input-typerange-and-androids-stock-browser/) to be made visible and usable.",
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/forms.html#range-state-(type=range)",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a", "4.2-4.3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "n", 23 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { 9 => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Range input type",
                                                       ucprefix     => 0,
                                                     },
                "input-search"                    => {
                                                       categories   => ["HTML5"],
                                                       description  => "Search field form input type. Intended to look like the underlying platform's native search field widget (if there is one). Other than its appearance, it's the same as an `<input type=\"text\">`.",
                                                       keywords     => "input,type,search",
                                                       links        => [
                                                                         {
                                                                           title => "CSS-Tricks article",
                                                                           url => "https://css-tricks.com/webkit-html5-search-inputs/",
                                                                         },
                                                                         {
                                                                           title => "Wufoo's The Current State of HTML5 Forms: The search Type",
                                                                           url => "https://www.wufoo.com/html5/types/5-search.html",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Does not use a special search-specific UI for the field, just the same UI as a regular `<input type=\"text\">`.",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/forms.html#text-(type=text)-state-and-search-state-(type=search)",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "y #1", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y #1" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y", 10 => "y #1" },
                                                                         chrome  => { 4 => "u", 15 => "y #1", 21 => "u", 26 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y #1", "79" => "y" },
                                                                         firefox => { 2 => "n", 4 => "y #1" },
                                                                         ie_mob  => { 10 => "y #1" },
                                                                         ios_saf => { "3.2" => "u", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "y #1" },
                                                                         op_mini => { all => "y #1" },
                                                                         op_mob  => { "10" => "n", "11" => "u", "12" => "y", "12.1" => "y #1", "80" => "y" },
                                                                         opera   => { "9" => "n", "11" => "u", "11.6" => "y" },
                                                                         safari  => { "3.1" => "u", "5.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Search input type",
                                                       ucprefix     => 0,
                                                     },
                "input-selection"                 => {
                                                       categories => ["HTML5", "JS API"],
                                                       description => "Controls for setting and getting text selection via `setSelectionRange()` and the `selectionStart` & `selectionEnd` properties.",
                                                       links => [
                                                         {
                                                           title => "MDN article on setSelectionRange",
                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange",
                                                         },
                                                       ],
                                                       notes_by_num => {},
                                                       spec => "https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#dom-textarea/input-setselectionrange",
                                                       stats => {
                                                         and_chr => { "2.1" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "y" },
                                                         chrome  => { 4 => "y" },
                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                         firefox => { 2 => "y" },
                                                         ie_mob  => { 10 => "y" },
                                                         ios_saf => { "3.2" => "u", "4.0-4.1" => "y" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "y" },
                                                         opera   => { "9" => "u", "10.6" => "y" },
                                                         safari  => { "3.1" => "u", "4" => "y" },
                                                         samsung => { 4 => "y" },
                                                       },
                                                       status => "ls",
                                                       title => "Selection controls for input & textarea",
                                                       ucprefix => 0,
                                                     },
                "insert-adjacent"                 => {
                                                       categories   => ["DOM"],
                                                       description  => "Methods for inserting an element or text before or after a given element, or appending or prepending an element or text to a given element's list of children.",
                                                       keywords     => "insertAdjacentElement,insertAdjacentText,insert,adjacent,element,text",
                                                       links        => [
                                                                         {
                                                                           title => "WHATWG DOM Specification for Element.insertAdjacentText()",
                                                                           url => "https://dom.spec.whatwg.org/#dom-element-insertadjacenttext",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Element.insertAdjacentElement()",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentElement",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Element.insertAdjacentText()",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentText",
                                                                         },
                                                                         {
                                                                           title => "JS Bin testcase",
                                                                           url => "https://jsbin.com/yanadu/edit?html,js,output",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://dom.spec.whatwg.org/#dom-element-insertadjacentelement",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "u", "6" => "y" },
                                                                         firefox => { 2 => "n", 48 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { "9" => "u", "9.5-9.6" => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Element.insertAdjacentElement() & Element.insertAdjacentText()",
                                                       ucprefix     => 0,
                                                     },
                "insertadjacenthtml"              => {
                                                       categories   => ["JS API"],
                                                       description  => "Inserts a string of HTML into a specified position in the DOM relative to the given element.",
                                                       keywords     => "element,insert,adjacent,HTML",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - insertAdjacentHTML",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentHTML",
                                                                         },
                                                                         {
                                                                           title => "Polyfill",
                                                                           url => "https://gist.github.com/eligrey/1276030",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Throws an \"Invalid target element for this operation.\" error [when called on a table, tbody, thead, or tr element.](https://johnresig.com/blog/dom-insertadjacenthtml/)",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/DOM-Parsing/#widl-Element-insertAdjacentHTML-void-DOMString-position-DOMString-text",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "u", "6" => "a #1", "10" => "y" },
                                                                         firefox => { 2 => "n", 8 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "u", "4.0-4.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { "10.0-10.1" => "y", "9" => "u" },
                                                                         safari  => { "3.1" => "n", "4" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Element.insertAdjacentHTML()",
                                                       ucprefix     => 0,
                                                     },
                "internationalization"            => {
                                                       categories   => ["JS", "JS"],
                                                       description  => "Locale-sensitive collation (string comparison), number formatting, and date and time formatting.",
                                                       keywords     => "Intl,Collator,NumberFormat,DateTimeFormat",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Internationalization",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl",
                                                                         },
                                                                         {
                                                                           title => "The ECMAScript Internationalization API",
                                                                           url => "https://norbertlindenberg.com/2012/12/ecmascript-internationalization-api/",
                                                                         },
                                                                         {
                                                                           title => "Working With Intl",
                                                                           url => "https://code.tutsplus.com/tutorials/working-with-intl--cms-21082",
                                                                         },
                                                                         {
                                                                           title => "WebKit tracking bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=90906",
                                                                         },
                                                                         {
                                                                           title => "Firefox for Android tracking bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1344625",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://tc39.es/ecma402/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 24 => "y" },
                                                                         edge    => { "5.5" => "n", "11" => "y" },
                                                                         firefox => { 2 => "n", 29 => "y" },
                                                                         ie_mob  => { 10 => "n", 11 => "y" },
                                                                         ios_saf => { "10.0-10.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "10" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Internationalization API",
                                                       ucprefix     => 0,
                                                     },
                "intersectionobserver"            => {
                                                       categories   => ["DOM", "JS API"],
                                                       chrome_id    => 5695342691483648,
                                                       description  => "API that can be used to understand the visibility and position of DOM elements relative to a containing element or to the top-level viewport. The position is delivered asynchronously and is useful for understanding the visibility of elements and implementing pre-loading and deferred loading of DOM content.",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Intersection Observer",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API",
                                                                         },
                                                                         {
                                                                           title => "Polyfill",
                                                                           url => "https://github.com/w3c/IntersectionObserver",
                                                                         },
                                                                         {
                                                                           title => "Google Developers article",
                                                                           url => "https://developers.google.com/web/updates/2016/04/intersectionobserver",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Enabled in Firefox by setting the `about:config` preference `dom.IntersectionObserver.enabled` to true",
                                                                         2 => "`isIntersecting` property of `IntersectionObserverEntry` was not implemented, returning `undefined`",
                                                                         3 => "IntersectionObserver does not trigger its callback in a Chrome background tab",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/intersection-observer/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y #3" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y #3" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 51 => "a #2", 58 => "y", 65 => "y #3" },
                                                                         edge    => { "5.5" => "n", "15" => "a #2", "16" => "y", "79" => "y #3" },
                                                                         firefox => { 2 => "n", 52 => "n d #1", 55 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "12.2-12.5" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y #3" },
                                                                         opera   => { 9 => "n", 38 => "a #2", 45 => "y", 64 => "y #3" },
                                                                         safari  => { "3.1" => "n", "12.1" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "a #2", "7.2-7.4" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "IntersectionObserver",
                                                       ucprefix     => 0,
                                                     },
                "intersectionobserver-v2"         => {
                                                       categories   => ["DOM", "JS API", "Security"],
                                                       chrome_id    => 5878481493688320,
                                                       description  => "Iteration on the original API that also reports if the element is covered by another element or has filters applied to it. Useful for blocking clickjacking attempts or tracking ad exposure.",
                                                       keywords     => ".isVisible,isVisible",
                                                       links        => [
                                                                         {
                                                                           title => "Google Web Docs - Intersection Observer V2",
                                                                           url => "https://developers.google.com/web/updates/2019/02/intersectionobserver-v2",
                                                                         },
                                                                         {
                                                                           title => "Request for Mozilla Position on IntersectionObserver V2",
                                                                           url => "https://github.com/mozilla/standards-positions/issues/109",
                                                                         },
                                                                         {
                                                                           title => "Safari support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=251586",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       parent       => "intersectionobserver",
                                                       spec         => "https://szager-chromium.github.io/IntersectionObserver/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 74 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 62 => "y" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { "11.1-11.2" => "y", "4" => "n" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "IntersectionObserver V2",
                                                       ucprefix     => 0,
                                                     },
                "intl-pluralrules"                => {
                                                       categories   => ["JS", "JS"],
                                                       chrome_id    => 5653874773852160,
                                                       description  => "API for plural sensitive formatting and plural language rules.",
                                                       keywords     => "Intl,PluralRules",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs: Intl.PluralRules",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/PluralRules",
                                                                         },
                                                                         {
                                                                           title => "Google Developers blog: The Intl.PluralRules API",
                                                                           url => "https://developers.google.com/web/updates/2017/10/intl-pluralrules",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Intl.PluralRules exists, but methods are not implemented.",
                                                                       },
                                                       parent       => "internationalization",
                                                       spec         => "https://tc39.es/ecma402/#sec-intl-pluralrules-constructor",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 63 => "y" },
                                                                         edge    => { "5.5" => "n", "18" => "n #1", "79" => "y" },
                                                                         firefox => { 2 => "n", 58 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "13.0-13.1" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 50 => "y" },
                                                                         safari  => { "3.1" => "n", "13" => "y" },
                                                                         samsung => { "4" => "n", "8.2" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Intl.PluralRules API",
                                                       ucprefix     => 0,
                                                     },
                "intrinsic-width"                 => {
                                                       categories   => ["CSS3"],
                                                       chrome_id    => 5901353784180736,
                                                       description  => "Allows for the heights and widths to be specified in intrinsic values using the `max-content`, `min-content`, `fit-content` and `stretch` (formerly `fill`) properties.",
                                                       keywords     => "fill,fill-available,max-content,min-content,fit-content,contain-floats,intrinsic,extrinsic,sizing",
                                                       links        => [
                                                                         {
                                                                           title => "Min-Content tutorial",
                                                                           url => "https://thenewcode.com/662/Design-From-the-Inside-Out-With-CSS-Min-Content",
                                                                         },
                                                                       ],
                                                       notes        => "Prefixes are on the values, not the property names (e.g. -webkit-min-content)\r\n\r\nOlder webkit browsers also support the unofficial `intrinsic` value which acts the same as `max-content`.",
                                                       notes_by_num => {
                                                                         1 => "Firefox does not support the `height`/`min-height`/`max-height` properties, only `width`. See [test case](https://codepen.io/shshaw/pen/Kiwaz), [Firefox bug](https://bugzilla.mozilla.org/show_bug.cgi?id=567039).",
                                                                         2 => "Firefox supports the `-moz-available` keyword rather than `stretch`. [Firefox bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1495868).",
                                                                         3 => "Does not support the `flex-basis` property. See [specs](https://www.w3.org/TR/2015/WD-css-flexbox-1-20150514/#flex-basis-property), [Blink bug](https://bugs.chromium.org/p/chromium/issues/detail?id=240765), [Firefox bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1055887).",
                                                                         4 => "Chrome does not yet unprefix `stretch` (aka `fill`/`fill-available`), because the [CSSWG](https://lists.w3.org/Archives/Public/www-style/2015Aug/0127.html) is not ready for that yet. See [Chromium bug](https://bugs.chromium.org/p/chromium/issues/detail?id=611857).",
                                                                         5 => "While still being affected by note 1, it is only for `-moz-fit-content` and `-moz-available`.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-sizing/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y x #3", "135" => "y #4" },
                                                                         and_ff  => { 137 => "a #2 #5" },
                                                                         and_qq  => { "14.9" => "y #3 #4" },
                                                                         and_uc  => { "15.5" => "y #3 #4" },
                                                                         baidu   => { "13.52" => "y #3 #4" },
                                                                         bb      => { 7 => "n", 10 => "y x #3" },
                                                                         chrome  => { 4 => "n", 22 => "y x #3", 46 => "y #3 #4", 94 => "y #4" },
                                                                         edge    => { "5.5" => "n", "79" => "y #3 #4", "94" => "y #4" },
                                                                         firefox => { 2 => "n", 3 => "a x #1 #2 #3", 66 => "a #2 #5" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => {
                                                                                      "14.0-14.4" => "a #3",
                                                                                      "16.0"      => "y",
                                                                                      "3.2"       => "n",
                                                                                      "7.0-7.1"   => "a x #1 #3",
                                                                                      "9.0-9.2"   => "a x #3",
                                                                                    },
                                                                         kaios   => { "2.5" => "a x #1 #2 #3", "3.0-3.1" => "a #2 #5" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y #4" },
                                                                         opera   => {
                                                                                      9  => "n",
                                                                                      15 => "y x #3",
                                                                                      33 => "y #3 #4",
                                                                                      34 => "y #3",
                                                                                      35 => "y #3 #4",
                                                                                      95 => "y #4",
                                                                                    },
                                                                         safari  => {
                                                                                      "3.1"  => "n",
                                                                                      "6.1"  => "a x #1 #3",
                                                                                      "9"    => "a x #3",
                                                                                      "11"   => "a #3",
                                                                                      "16.0" => "y",
                                                                                    },
                                                                         samsung => { "17.0" => "y #4", "4" => "y x #3", "5.0-5.4" => "y #3 #4" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Intrinsic & Extrinsic Sizing",
                                                       ucprefix     => 0,
                                                     },
                "jpeg2000"                        => {
                                                       categories   => ["Other"],
                                                       description  => "JPEG 2000 was built to supersede the original JPEG format by having better compression and more features. [WebP](/webp), [AVIF](/avif) and [JPEG XL](/jpegxl) are all designed to supersede JPEG 2000.",
                                                       keywords     => "jp2,jpeg2000,jpeg 2000,jpg2000",
                                                       links        => [
                                                                         {
                                                                           title => "Wikipedia article",
                                                                           url => "https://en.wikipedia.org/wiki/JPEG_2000",
                                                                         },
                                                                       ],
                                                       notes_by_num => { 1 => "Not supported by Safari for Windows" },
                                                       spec         => "https://www.itu.int/rec/T-REC-T.800-200208-I",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n" },
                                                                         edge    => { "5.5" => "n" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "18.0" => "n", "3.2" => "n", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n" },
                                                                         safari  => { "3.1" => "n", "5" => "y #1", "6" => "y", "18.0" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "other",
                                                       title        => "JPEG 2000 image format",
                                                       ucprefix     => 0,
                                                     },
                "jpegxl"                          => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 5188299478007808,
                                                       description  => "A modern image format optimized for web environments. JPEG XL generally has better compression than [WebP](/webp), JPEG, PNG and GIF and is designed to supersede them. JPEG XL competes with [AVIF](/avif) which has similar compression quality but fewer features overall.",
                                                       keywords     => ".jxl,jpeg-xl,jpg",
                                                       links        => [
                                                                         {
                                                                           title => "Official website",
                                                                           url => "https://jpeg.org/jpegxl/index.html",
                                                                         },
                                                                         {
                                                                           title => "Comparison to other formats",
                                                                           url => "https://cloudinary.com/blog/how_jpeg_xl_compares_to_other_image_codecs",
                                                                         },
                                                                         { title => "Chromium support bug", url => "https://crbug.com/1178058" },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1539075",
                                                                         },
                                                                         {
                                                                           title => "WebKit support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=208235",
                                                                         },
                                                                         {
                                                                           title => "Request for Mozilla position on JPEG XL",
                                                                           url => "https://github.com/mozilla/standards-positions/issues/522",
                                                                         },
                                                                         {
                                                                           title => "2024 update on the request for Mozilla position on JPEG XL",
                                                                           url => "https://github.com/mozilla/standards-positions/pull/1064",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled via the `enable-jxl` flag.",
                                                                         2 => "Can be enabled via the `image.jxl.enabled` flag in `about:config` in Nightly only. This flag is configurable but has no effect in the other builds.",
                                                                         3 => "Can be enabled via the `--enable-features=JXL` runtime flag.",
                                                                         4 => "Supports still images. Animated image sequences are not supported.",
                                                                       },
                                                       spec         => "https://jpeg.org/jpegxl/documentation.html",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 91 => "n d #1", 110 => "n" },
                                                                         edge    => { "5.5" => "n", "91" => "n d #3", "110" => "n" },
                                                                         firefox => { 2 => "n", 90 => "n d #2" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "17.0" => "y #4" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 77 => "n d #1", 96 => "n" },
                                                                         safari  => { "3.1" => "n", "17.0" => "y #4" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "other",
                                                       title        => "JPEG XL image format",
                                                       ucprefix     => 0,
                                                     },
                "jpegxr"                          => {
                                                       categories   => ["Other"],
                                                       description  => "JPEG XR was built to supersede the original JPEG format by having better compression and more features. [WebP](/webp), [AVIF](/avif) and [JPEG XL](/jpegxl) are all designed to supersede JPEG XR.",
                                                       keywords     => "jpeg-xr,jxr",
                                                       links        => [
                                                                         {
                                                                           title => "Microsoft JPEG XR Codec Overview",
                                                                           url => "https://docs.microsoft.com/en-us/windows/win32/wic/jpeg-xr-codec",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=500500",
                                                                         },
                                                                         {
                                                                           title => "Chrome support bug (marked as WONTFIX)",
                                                                           url => "https://code.google.com/p/chromium/issues/detail?id=56908",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.itu.int/rec/T-REC-T.832",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n" },
                                                                         edge    => { "5.5" => "n", "9" => "y", "79" => "n" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "other",
                                                       title        => "JPEG XR image format",
                                                       ucprefix     => 0,
                                                     },
                "js-regexp-lookbehind"            => {
                                                       categories => ["JS"],
                                                       description => "The positive lookbehind (`(?<= )`) and negative lookbehind (`(?<! )`) zero-width assertions in JavaScript regular expressions can be used to ensure a pattern is preceded by another pattern.",
                                                       links => [
                                                         {
                                                           title => "Blog post on lookbehind assertions",
                                                           url => "https://2ality.com/2017/05/regexp-lookbehind-assertions.html",
                                                         },
                                                         {
                                                           title => "Firefox implementation bug",
                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1225665",
                                                         },
                                                         {
                                                           title => "MDN: Regular Expressions Assertions",
                                                           url => "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions/Assertions",
                                                         },
                                                         {
                                                           title => "Safari implementation bug",
                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=174931",
                                                         },
                                                       ],
                                                       notes_by_num => {},
                                                       spec => "https://tc39.es/ecma262/#sec-assertion",
                                                       stats => {
                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "n" },
                                                         chrome  => { 4 => "n", 62 => "y" },
                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                         firefox => { 2 => "n", 78 => "y" },
                                                         ie_mob  => { 10 => "n" },
                                                         ios_saf => { "3.2" => "n", "16.4" => "y" },
                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                         opera   => { 9 => "n", 49 => "y" },
                                                         safari  => { "3.1" => "n", "16.4" => "y" },
                                                         samsung => { "4" => "n", "8.2" => "y" },
                                                       },
                                                       status => "other",
                                                       title => "Lookbehind in JS regular expressions",
                                                       ucprefix => 0,
                                                     },
                "json"                            => {
                                                       categories   => ["JS"],
                                                       description  => "Method of converting JavaScript objects to JSON strings and JSON back to objects using JSON.stringify() and JSON.parse()",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Working with JSON",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/JSON",
                                                                         },
                                                                         {
                                                                           title => "JSON in JS (includes script w/support)",
                                                                           url => "https://www.json.org/json-en.html",
                                                                         },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/json.js#json",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/apis/json",
                                                                         },
                                                                         { title => "JSON explainer", url => "https://www.json.org/" },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Requires document to be in IE8+ [standards mode](http://msdn.microsoft.com/en-us/library/cc288325%28VS.85%29.aspx) to work in IE8.",
                                                                       },
                                                       parent       => "es5",
                                                       spec         => "https://www.ecma-international.org/ecma-262/5.1/#sec-15.12",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "8" => "y #1", "9" => "y" },
                                                                         firefox => { "2" => "n", "3.5" => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "4.0-4.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { "9" => "n", "10.5" => "y" },
                                                                         safari  => { "3.1" => "n", "4" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "JSON parsing",
                                                       ucprefix     => 0,
                                                     },
                "justify-content-space-evenly"    => {
                                                       categories => ["CSS"],
                                                       description => "The \"space-evenly\" value for the `justify-content` property distributes the space between items evenly. It is similar to space-around but provides equal instead of half-sized space on the edges. Can be used in both CSS flexbox & grid.",
                                                       links => [
                                                         {
                                                           title => "MDN on justify-content property",
                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content",
                                                         },
                                                         {
                                                           title => "Edge support bug",
                                                           url => "https://web.archive.org/web/20190401105606/https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/15947692/",
                                                         },
                                                       ],
                                                       notes_by_num => { 1 => "Supported in CSS Grid, but not Flexbox" },
                                                       spec => "https://w3c.github.io/csswg-drafts/css-align-3/#valdef-align-content-space-evenly",
                                                       stats => {
                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "n" },
                                                         chrome  => { 4 => "n", 57 => "a #1", 60 => "y" },
                                                         edge    => { "5.5" => "n", "16" => "a #1", "79" => "y" },
                                                         firefox => { 2 => "n", 52 => "y" },
                                                         ie_mob  => { 10 => "n" },
                                                         ios_saf => { "10.3" => "a #1", "11.0-11.2" => "y", "3.2" => "n" },
                                                         kaios   => { "2.5" => "a #1", "3.0-3.1" => "y" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                         opera   => { 9 => "n", 44 => "a #1", 47 => "y" },
                                                         safari  => { "3.1" => "n", "10.1" => "a #1", "11" => "y" },
                                                         samsung => { "4" => "n", "7.2-7.4" => "a #1", "8.2" => "y" },
                                                       },
                                                       status => "wd",
                                                       title => "CSS justify-content: space-evenly",
                                                       ucprefix => 0,
                                                     },
                "kerning-pairs-ligatures"         => {
                                                       categories   => ["CSS"],
                                                       description  => "When used in HTML, the unofficial `text-rendering: optimizeLegibility` CSS property enables high-quality kerning and ligatures in certain browsers. Newer browsers have this behavior enabled by default.",
                                                       keywords     => "optimizeLegibility,optimizeSpeed,geometricPrecision",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS text-rendering",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/text-rendering",
                                                                         },
                                                                         {
                                                                           title => "CSS Tricks article",
                                                                           url => "https://css-tricks.com/almanac/properties/t/text-rendering/",
                                                                         },
                                                                       ],
                                                       notes        => "The `text-rendering` property is specified in SVG, though behavior there is not related to kerning pairs & ligatures.",
                                                       notes_by_num => {
                                                                         1 => "Partial support in Android browser versions is due to a serious bug where `text-rendering: optimizeLegibility` causes custom web fonts to not render.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/SVG2/painting.html#TextRendering",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "3" => "a #1", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "18" => "y" },
                                                                         firefox => { 2 => "n", 3 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "u", "4.2-4.3" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "5" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "High-quality kerning pairs & ligatures",
                                                       ucprefix     => 0,
                                                     },
                "keyboardevent-charcode"          => {
                                                       categories   => ["DOM"],
                                                       description  => "A legacy `KeyboardEvent` property that gives the Unicode codepoint number of a character key pressed during a `keypress` event.",
                                                       keywords     => "keyboard,event,key,char,character,code,charCode",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - charCode",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/charCode",
                                                                         },
                                                                       ],
                                                       notes        => "This property is legacy and deprecated.\n[\"Some key events, or their values, might be suppressed by the IME in use\"](https://www.w3.org/TR/2019/WD-uievents-20190530/#keys-IME). On mobile (virtual keyboard), all keys are reported as 0.",
                                                       notes_by_num => { 1 => "Does not appear to support the `keypress` event at all" },
                                                       spec         => "https://w3c.github.io/uievents/#dom-keyboardevent-charcode",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "y" },
                                                                         and_ff  => { 137 => "n #1" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                                         firefox => { 2 => "u", 3 => "y" },
                                                                         ie_mob  => { 10 => "n #1" },
                                                                         ios_saf => { "3.2" => "u", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "n", "12" => "u", "12.1" => "y" },
                                                                         opera   => { "9" => "n", "12" => "u", "12.1" => "y" },
                                                                         safari  => { "3.1" => "u", "4" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "KeyboardEvent.charCode",
                                                       ucprefix     => 0,
                                                     },
                "keyboardevent-code"              => {
                                                       categories   => ["DOM"],
                                                       chrome_id    => 5228092293382144,
                                                       description  => "A `KeyboardEvent` property representing the physical key that was pressed, ignoring the keyboard layout and ignoring whether any modifier keys were active.",
                                                       keywords     => "keyboard,event,code",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - code",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code",
                                                                         },
                                                                         {
                                                                           title => "Chrome tracking bug",
                                                                           url => "https://code.google.com/p/chromium/issues/detail?id=227231",
                                                                         },
                                                                         {
                                                                           title => "WebKit feature request bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=149584",
                                                                         },
                                                                       ],
                                                       notes        => "[\"Some key events, or their values, might be suppressed by the IME in use\"](https://www.w3.org/TR/2019/WD-uievents-20190530/#keys-IME). On mobile (virtual keyboard), all keys are reported as empty (\"\").",
                                                       notes_by_num => {
                                                                         1 => "Enabled in Chrome & Opera through the \"experimental Web Platform features\" flag",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/uievents/#dom-keyboardevent-code",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n d #1" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 42 => "n d #1", 48 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 38 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "10.3" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 29 => "n d #1", 35 => "y" },
                                                                         safari  => { "3.1" => "n", "10.1" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "n d #1" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "KeyboardEvent.code",
                                                       ucprefix     => 0,
                                                     },
                "keyboardevent-getmodifierstate"  => {
                                                       categories   => ["DOM"],
                                                       description  => "`KeyboardEvent` method that returns the state (whether the key is pressed/locked or not) of the given modifier key.",
                                                       keywords     => "keyboard,event,get,modifier,state",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - getModifierState",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/getModifierState",
                                                                         },
                                                                         {
                                                                           title => "WebKit feature request bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=40999",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/uievents/#dom-keyboardevent-getmodifierstate",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 30 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                                         firefox => { 2 => "n", 15 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "10.3" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "n", "12" => "u", "12.1" => "y" },
                                                                         opera   => { "9" => "n", "12" => "u", "12.1" => "y", "15" => "n", "17" => "y" },
                                                                         safari  => { "3.1" => "n", "10.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "KeyboardEvent.getModifierState()",
                                                       ucprefix     => 0,
                                                     },
                "keyboardevent-key"               => {
                                                       categories   => ["DOM"],
                                                       chrome_id    => 4748790720364544,
                                                       description  => "A `KeyboardEvent` property whose value is a string identifying the key that was pressed. Covers character keys, non-character keys (e.g. arrow keys), and dead keys.",
                                                       keywords     => "keyboard,event,key",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - key",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key",
                                                                         },
                                                                         {
                                                                           title => "Chrome tracking bug",
                                                                           url => "https://code.google.com/p/chromium/issues/detail?id=227231",
                                                                         },
                                                                         {
                                                                           title => "WebKit feature request bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=69029",
                                                                         },
                                                                         {
                                                                           title => "Spec listing all key string values",
                                                                           url => "https://www.w3.org/TR/DOM-Level-3-Events-key/",
                                                                         },
                                                                         {
                                                                           title => "Edge bug report",
                                                                           url => "https://web.archive.org/web/20190401104951/https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/8860571/",
                                                                         },
                                                                         {
                                                                           title => "shim-keyboard-event-key: shim for non-standard key identifiers for IE & Edge",
                                                                           url => "https://github.com/shvaikalesh/shim-keyboard-event-key",
                                                                         },
                                                                       ],
                                                       notes        => "[\"Some key events, or their values, might be suppressed by the IME in use\"](https://www.w3.org/TR/2019/WD-uievents-20190530/#keys-IME). On mobile (virtual keyboard), for every key Blink and WebKit based browsers report \"Unidentified\", Gecko reports \"Process\".",
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to these versions of Firefox returning `\"MozPrintableKey\"` for all character keys.",
                                                                         2 => "Has non-standard key identifiers and incorrect behaviour with AltGraph.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/uievents/#dom-keyboardevent-key",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 51 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "a #2", "79" => "y" },
                                                                         firefox => { 2 => "n", 23 => "a #1", 29 => "y" },
                                                                         ie_mob  => { 10 => "a #2" },
                                                                         ios_saf => { "3.2" => "n", "10.3" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { "10" => "n", "12" => "u", "12.1" => "y" },
                                                                         opera   => { "9" => "n", "12" => "u", "12.1" => "y", "15" => "n", "38" => "y" },
                                                                         safari  => { "3.1" => "n", "10.1" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "KeyboardEvent.key",
                                                       ucprefix     => 0,
                                                     },
                "keyboardevent-location"          => {
                                                       categories   => ["DOM"],
                                                       description  => "A `KeyboardEvent` property that indicates the location of the key on the input device. Useful when there are more than one physical key for the same logical key (e.g. left or right \"Control\" key; main or numpad \"1\" key).",
                                                       keywords     => "keyboard,event,key,location,keyLocation,numpad",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - location",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/location",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Only supports `KeyboardEvent.keyLocation` from an older draft of the DOM Level 3 Events spec instead.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/uievents/#dom-keyboardevent-location",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "a #1", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a #1" },
                                                                         chrome  => { 4 => "a #1", 30 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                                         firefox => { 2 => "n", 15 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "u", "5.0-5.1" => "a #1", "8" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "n", "12" => "u", "12.1" => "y" },
                                                                         opera   => { "9" => "n", "12" => "u", "12.1" => "y", "15" => "a #1", "17" => "y" },
                                                                         safari  => { "3.1" => "u", "4" => "a #1", "6" => "u", "6.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "KeyboardEvent.location",
                                                       ucprefix     => 0,
                                                     },
                "keyboardevent-which"             => {
                                                       categories   => ["DOM"],
                                                       description  => "A legacy `KeyboardEvent` property that is equivalent to either `KeyboardEvent.keyCode` or `KeyboardEvent.charCode` depending on whether the key is alphanumeric.",
                                                       keywords     => "keyboard,event,which",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - which",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/which",
                                                                         },
                                                                       ],
                                                       notes        => "This property is legacy and deprecated.\n[\"Some key events, or their values, might be suppressed by the IME in use\"](https://www.w3.org/TR/2019/WD-uievents-20190530/#keys-IME). On mobile (virtual keyboard), all keys are reported as 229.",
                                                       notes_by_num => {
                                                                         1 => "`event.which` number for keys does not always match expected value (difference may be dependent on hardware vs. on-screen keyboard?). ",
                                                                       },
                                                       spec         => "https://w3c.github.io/uievents/#dom-uievent-which",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "y", "4.4" => "a #1", "135" => "y" },
                                                                         and_ff  => { 137 => "a #1" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "a #1" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                                         firefox => { 2 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "u", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { "10.0-10.1" => "y", "9" => "u" },
                                                                         safari  => { "3.1" => "n", "5" => "u", "5.1" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "a #1" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "KeyboardEvent.which",
                                                       ucprefix     => 0,
                                                     },
                "lazyload"                        => {
                                                       categories => ["DOM"],
                                                       description => "Gives a hint to the browser to lower the loading priority of a resource. Please note that this is a legacy attribute, see the [`loading`](/loading-lazy-attr) attribute for the new standardized API.",
                                                       links => [
                                                         {
                                                           title => "lazyload attribute | lazyload property",
                                                           url => "https://msdn.microsoft.com/en-us/ie/dn369270(v=vs.94)",
                                                         },
                                                         {
                                                           title => "Discussion on standardization",
                                                           url => "https://github.com/whatwg/html/issues/2806",
                                                         },
                                                       ],
                                                       notes_by_num => {},
                                                       spec => "https://w3c.github.io/web-performance/specs/ResourcePriorities/Overview.html",
                                                       stats => {
                                                         and_chr => { "2.1" => "n" },
                                                         and_ff  => { 137 => "n" },
                                                         and_qq  => { "14.9" => "n" },
                                                         and_uc  => { "15.5" => "n" },
                                                         baidu   => { "13.52" => "n" },
                                                         bb      => { 7 => "n" },
                                                         chrome  => { 4 => "n" },
                                                         edge    => { "5.5" => "n", "11" => "y", "79" => "n" },
                                                         firefox => { 2 => "n" },
                                                         ie_mob  => { 10 => "n", 11 => "y" },
                                                         ios_saf => { "3.2" => "n" },
                                                         kaios   => { "2.5" => "n" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "n" },
                                                         opera   => { 9 => "n" },
                                                         safari  => { "3.1" => "n" },
                                                         samsung => { 4 => "n" },
                                                       },
                                                       status => "unoff",
                                                       title => "Resource Hints: Lazyload",
                                                       ucprefix => 0,
                                                     },
                "let"                             => {
                                                       categories   => ["JS"],
                                                       chrome_id    => 4645595339816960,
                                                       description  => "Declares a variable with block level scope",
                                                       keywords     => "ES6,variable,block,scope",
                                                       links        => [
                                                                         {
                                                                           title => "Variables and Constants in ES6",
                                                                           url => "https://generatedcontent.org/post/54444832868/variables-and-constants-in-es6",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - let",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Supports a non-standard version that can only be used in script elements with a type attribute of `application/javascript;version=1.7`. As other browsers do not support these types of `script` tags this makes support useless for cross-browser support.",
                                                                         2 => "Requires the \x{2018}Experimental JavaScript features\x{2019} flag to be enabled",
                                                                         3 => "Only supported in strict mode",
                                                                         4 => "`let` bindings in for loops are incorrectly treated as function-scoped instead of block scoped.",
                                                                         5 => "`let` variables are not bound separately to each iteration of `for` loops",
                                                                       },
                                                       parent       => "es6",
                                                       spec         => "https://tc39.es/ecma262/#sec-let-and-const-declarations",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 19 => "n d #2", 41 => "a #3", 49 => "y" },
                                                                         edge    => { "5.5" => "n", "11" => "a #5", "12" => "y" },
                                                                         firefox => { 2 => "n d #1", 44 => "y" },
                                                                         ie_mob  => { 10 => "n", 11 => "y" },
                                                                         ios_saf => { "10.0-10.2" => "a #4", "11.0-11.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "n d #2", 28 => "a #3", 36 => "y" },
                                                                         safari  => { "3.1" => "n", "10" => "a #4", "11" => "y" },
                                                                         samsung => { "4" => "a #3", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "let",
                                                       ucprefix     => 0,
                                                     },
                "link-icon-png"                   => {
                                                       categories   => ["HTML5"],
                                                       description  => "Icon used by browsers to identify a webpage or site. While all browsers support the `.ico` format, the PNG format can be preferable.",
                                                       links        => [
                                                                         {
                                                                           title => "How to favicon in 2021",
                                                                           url => "https://dev.to/masakudamatsu/favicon-nightmare-how-to-maintain-sanity-3al7",
                                                                         },
                                                                       ],
                                                       notes        => "Favicon support is a complicated topic. See [this guide](https://dev.to/masakudamatsu/favicon-nightmare-how-to-maintain-sanity-3al7) for more information.\r\n\r\nSee also [SVG favicons](/link-icon-svg).",
                                                       notes_by_num => {
                                                                         1 => "Does not use favicons at all (but may have alternative for bookmarks, etc.).",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/semantics.html#rel-icon",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y", 10 => "n #1" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "11" => "y" },
                                                                         firefox => { 2 => "y" },
                                                                         ie_mob  => { 10 => "n #1" },
                                                                         ios_saf => { "12.0-12.1" => "y", "3.2" => "n #1" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n #1" },
                                                                         op_mob  => { 10 => "n #1", 80 => "y" },
                                                                         opera   => { 9 => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "PNG favicons",
                                                       ucprefix     => 0,
                                                     },
                "link-icon-svg"                   => {
                                                       categories   => ["HTML5", "SVG"],
                                                       chrome_id    => 5180316371124224,
                                                       description  => "Icon used by browsers to identify a webpage or site. While all browsers support the `.ico` format, the SVG format can be preferable to more easily support higher resolutions or larger icons.",
                                                       links        => [
                                                                         {
                                                                           title => "Chrome bug",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=294179",
                                                                         },
                                                                         {
                                                                           title => "Firefox bug, highlights comment that confirms note #4",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=366324#c50",
                                                                         },
                                                                         {
                                                                           title => "WebKit feature request bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=136059",
                                                                         },
                                                                         {
                                                                           title => "How to favicon in 2021",
                                                                           url => "https://dev.to/masakudamatsu/favicon-nightmare-how-to-maintain-sanity-3al7",
                                                                         },
                                                                         {
                                                                           title => "WebKit position 2024: Support",
                                                                           url => "https://github.com/WebKit/standards-positions/issues/367",
                                                                         },
                                                                       ],
                                                       notes        => "Favicon support is a complicated topic. See [this guide](https://dev.to/masakudamatsu/favicon-nightmare-how-to-maintain-sanity-3al7) for more information.\r\n\r\nSee also [PNG favicons](/link-icon-png).",
                                                       notes_by_num => {
                                                                         1 => "Does not use favicons at all (but may have alternative for bookmarks, etc.).",
                                                                         2 => "Partial support in Firefox before version 41 refers to only loading the SVG favicon the first time, but not [on subsequent loads](https://bugzilla.mozilla.org/show_bug.cgi?id=366324#c14).",
                                                                         3 => "Requires the served mime-type to be `image/svg+xml`.",
                                                                         4 => "Chromium browsers serve the SVG in [secure static mode](https://svgwg.org/svg2-draft/conform.html#secure-static-mode), but apply SMIL animations using the document start time (0).",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/semantics.html#rel-icon",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "y #3 #4" },
                                                                         bb      => { 7 => "n", 10 => "n #1" },
                                                                         chrome  => { 4 => "n", 80 => "y #3 #4" },
                                                                         edge    => { "5.5" => "n", "80" => "y #3 #4" },
                                                                         firefox => { 2 => "n", 4 => "a #2", 41 => "y #3" },
                                                                         ie_mob  => { 10 => "n #1" },
                                                                         ios_saf => { "12.0-12.1" => "n", "3.2" => "n #1" },
                                                                         kaios   => { "2.5" => "y #3" },
                                                                         op_mini => { all => "n #1" },
                                                                         op_mob  => { 10 => "n #1", 80 => "y #3 #4" },
                                                                         opera   => { 9 => "n", 44 => "y", 54 => "n", 67 => "y #3 #4" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { "4" => "n", "13.0" => "y #3 #4" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "SVG favicons",
                                                       ucprefix     => 0,
                                                     },
                "link-rel-dns-prefetch"           => {
                                                       categories => ["DOM"],
                                                       description => "Gives a hint to the browser to perform a DNS lookup in the background to improve performance. This is indicated using `<link rel=\"dns-prefetch\" href=\"https://example.com/\">`",
                                                       links => [
                                                         {
                                                           title => "Prerender and prefetch support",
                                                           url => "https://msdn.microsoft.com/en-us/library/dn265039(v=vs.85).aspx",
                                                         },
                                                         {
                                                           title => "Controlling DNS prefetching",
                                                           url => "https://developer.mozilla.org/en-US/docs/Web/HTTP/Controlling_DNS_prefetching",
                                                         },
                                                         {
                                                           title => "What to <link rel=dns-prefetch> and when to use `preconnect` instead",
                                                           url => "https://www.ctrl.blog/entry/dns-prefetch-preconnect.html",
                                                         },
                                                       ],
                                                       notes_by_num => {
                                                         1 => "IE9 [supported `dns-prefetch` as `prefetch`](https://blogs.msdn.com/b/ieinternals/archive/2012/03/01/ie10-beta-consumer-preview-minor-changes-changelist.aspx) as the former wasn\x{2019}t defined yet.",
                                                         2 => "Firefox < 127 only supports `dns-prefetch` on HTTP origins. HTTPS is unsupported.",
                                                       },
                                                       spec => "https://www.w3.org/TR/resource-hints/#dns-prefetch",
                                                       stats => {
                                                         and_chr => { "2.1" => "u" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "u" },
                                                         chrome  => { 4 => "y" },
                                                         edge    => { "5.5" => "n", "9" => "a #1", "10" => "y" },
                                                         firefox => { "2" => "n", "3.5" => "a #2", "127" => "y" },
                                                         ie_mob  => { 10 => "n", 11 => "y" },
                                                         ios_saf => { "3.2" => "u" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "u", 80 => "y" },
                                                         opera   => { 9 => "n", 15 => "y" },
                                                         safari  => { "3.1" => "n", "5" => "y" },
                                                         samsung => { "4" => "u", "5.0-5.4" => "y" },
                                                       },
                                                       status => "wd",
                                                       title => "Resource Hints: dns-prefetch",
                                                       ucprefix => 0,
                                                     },
                "link-rel-modulepreload"          => {
                                                       categories   => ["DOM"],
                                                       chrome_id    => 5762805915451392,
                                                       description  => "Using `<link rel=\"modulepreload\">`, browsers can be informed to prefetch module scripts without having to execute them, allowing fine-grained control over when and how module resources are loaded.",
                                                       links        => [
                                                                         {
                                                                           title => "Gecko implementation bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1425310",
                                                                         },
                                                                         {
                                                                           title => "WebKit implementation bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=180574",
                                                                         },
                                                                         {
                                                                           title => "Preloading modules",
                                                                           url => "https://developers.google.com/web/updates/2017/12/modulepreload",
                                                                         },
                                                                         {
                                                                           title => "Modern Script Loading",
                                                                           url => "https://jasonformat.com/modern-script-loading/",
                                                                         },
                                                                       ],
                                                       notes        => "Unlike some other link relations, changing the relevant attributes (such as as, crossorigin, and referrerpolicy) of such a link does not trigger a new fetch. This is because the document's module map has already been populated by a previous fetch, and so re-fetching would be pointless.",
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/links.html#link-type-modulepreload",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 66 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 115 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "17.0" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 53 => "y" },
                                                                         safari  => { "3.1" => "n", "17.0" => "y" },
                                                                         samsung => { "4" => "n", "9.2" => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Resource Hints: modulepreload",
                                                       ucprefix     => 0,
                                                     },
                "link-rel-preconnect"             => {
                                                       categories   => ["DOM"],
                                                       chrome_id    => 5560623895150592,
                                                       description  => "Gives a hint to the browser to begin the connection handshake (DNS, TCP, TLS) in the background to improve performance. This is indicated using `<link rel=\"preconnect\" href=\"https://example-domain.com/\">`",
                                                       keywords     => "preconnect, resource hints",
                                                       links        => [
                                                                         {
                                                                           title => "Eliminating Roundtrips with Preconnect",
                                                                           url => "https://www.igvita.com/2015/08/17/eliminating-roundtrips-with-preconnect/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Firefox 39 did not support 'crossorigin' attribute and preconnects were not processed by the preload parser. Both of these features were enabled in Firefox 41.",
                                                                         2 => "Partial support in Edge 15+ refers to support for only the HTTP header format, not the `<link rel>` format.",
                                                                         3 => "Firefox support regressed from versions 71 - 114. See [bug 1543990](https://bugzilla.mozilla.org/show_bug.cgi?id=1543990) for details.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/resource-hints/#preconnect",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 46 => "y" },
                                                                         edge    => { "5.5" => "n", "15" => "a #2", "79" => "y" },
                                                                         firefox => { 2 => "n", 39 => "y #1", 40 => "y", 71 => "n #3", 115 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.3-11.4" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 33 => "y" },
                                                                         safari  => { "3.1" => "n", "11.1" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Resource Hints: preconnect",
                                                       ucprefix     => 0,
                                                     },
                "link-rel-prefetch"               => {
                                                       categories => ["DOM"],
                                                       description => "Informs the browsers that a given resource should be prefetched so it can be loaded more quickly. This is indicated using `<link rel=\"prefetch\" href=\"(url)\">`",
                                                       links => [
                                                         {
                                                           title => "Wikipedia article",
                                                           url => "https://en.wikipedia.org/wiki/Link_prefetching",
                                                         },
                                                         {
                                                           title => "Article on prefetch and other hints",
                                                           url => "https://medium.com/\@luisvieira_gmr/html5-prefetch-1e54f6dda15d",
                                                         },
                                                       ],
                                                       notes_by_num => {
                                                         1 => "Can be enabled in Safari as `LinkPrefetch` in the developer menu",
                                                       },
                                                       spec => "https://www.w3.org/TR/resource-hints/#dfn-prefetch",
                                                       stats => {
                                                         and_chr => { "2.1" => "n", "4" => "y", "4.1" => "n", "4.4" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "n" },
                                                         chrome  => { 4 => "n", 8 => "y" },
                                                         edge    => { "5.5" => "n", "11" => "y" },
                                                         firefox => { 2 => "y" },
                                                         ie_mob  => { 10 => "n", 11 => "y" },
                                                         ios_saf => { "13.4-13.7" => "n d #1", "3.2" => "n" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                         opera   => { 9 => "n", 15 => "y" },
                                                         safari  => { "3.1" => "n", "13.1" => "n d #1" },
                                                         samsung => { 4 => "y" },
                                                       },
                                                       status => "wd",
                                                       title => "Resource Hints: prefetch",
                                                       ucprefix => 0,
                                                     },
                "link-rel-preload"                => {
                                                       categories   => ["DOM"],
                                                       chrome_id    => 5757468554559488,
                                                       description  => "Using `<link rel=\"preload\">`, browsers can be informed to prefetch resources without having to execute them, allowing fine-grained control over when and how resources are loaded. Only the following `as` values are supported: fetch, image, font, script, style, track.",
                                                       links        => [
                                                                         {
                                                                           title => "Preload: What Is It Good For?",
                                                                           url => "https://www.smashingmagazine.com/2016/02/preload-what-is-it-good-for/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Preloading content with rel=\"preload\"",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/HTML/Preloading_content",
                                                                         },
                                                                         {
                                                                           title => "Firefox meta support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=Rel%3Dpreload",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Only cachable resources can be preloaded.",
                                                                         2 => "Can be enabled via the \"Experimental Features\" developer menu",
                                                                         3 => "Disabled by default behind the `network.preload` flag.",
                                                                         4 => "Partial support in Edge 17+ refers to support for only the HTML `<link rel>` format, not the HTTP header format.",
                                                                       },
                                                       spec         => "https://w3c.github.io/preload/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 50 => "y" },
                                                                         edge    => { "5.5" => "n", "17" => "a #4", "79" => "y" },
                                                                         firefox => { 2 => "n", 56 => "a #1", 57 => "n d #3", 85 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.0-11.2" => "n d #2", "11.3-11.4" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 37 => "y" },
                                                                         safari  => { "3.1" => "n", "11" => "n d #2", "11.1" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Resource Hints: preload",
                                                       ucprefix     => 0,
                                                     },
                "link-rel-prerender"              => {
                                                       categories   => ["DOM"],
                                                       description  => "Gives a hint to the browser to render the specified page in the background, speeding up page load if the user navigates to it. This is indicated using `<link rel=\"prerender\" href=\"(url)\">`",
                                                       links        => [
                                                                         {
                                                                           title => "Prerender and prefetch support",
                                                                           url => "https://msdn.microsoft.com/en-us/library/dn265039(v=vs.85).aspx",
                                                                         },
                                                                         {
                                                                           title => "Firefox implementation bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=730101",
                                                                         },
                                                                       ],
                                                       notes        => "Chrome treats the prerender hint as a [NoState Prefetch](https://developers.google.com/web/updates/2018/07/nostate-prefetch) instead, and unlike a full prerender it won't execute JavaScript or render any part of the page in advance.",
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/resource-hints/#prerender",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 13 => "y" },
                                                                         edge    => { "5.5" => "n", "11" => "y", "12" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n", 11 => "y" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Resource Hints: prerender",
                                                       ucprefix     => 0,
                                                     },
                "loading-lazy-attr"               => {
                                                       categories   => ["HTML5"],
                                                       chrome_id    => 5645767347798016,
                                                       description  => "The `loading` attribute on images & iframes gives authors control over when the browser should start loading the resource. ",
                                                       keywords     => "lazy-loading,lazyloading,loading=\"lazy\",loading=\"eager\",loading=\"auto\",loading,attribute,lazily,lazy image loading,lazy img loading,iframe loading,native lazyload",
                                                       links        => [
                                                                         {
                                                                           title => "Blog post",
                                                                           url => "https://addyosmani.com/blog/lazy-loading/",
                                                                         },
                                                                         {
                                                                           title => "Explainer",
                                                                           url => "https://github.com/scott-little/lazyload",
                                                                         },
                                                                         { title => "WebKit support bug", url => "https://webkit.org/b/196698" },
                                                                         {
                                                                           title => "Firefox support bug for lazy loading iframes",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1622090",
                                                                         },
                                                                         {
                                                                           title => "Polyfill",
                                                                           url => "https://github.com/mfranzke/loading-attribute-polyfill",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Firefox only supports lazy loading for images",
                                                                         2 => "Can be enabled in Settings under the Safari > Advanced > Experimental Features menu.",
                                                                         3 => "Safari supports lazy image loading. Lazy iframes loading can be enabled under the Experimental Features menu.",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/urls-and-fetching.html#lazy-loading-attributes",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 75 => "n d", 77 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 75 => "a #1", 121 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "13.4-13.7" => "n d #2", "15.4" => "a d #3", "16.4" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "a #1" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 62 => "n d", 64 => "y" },
                                                                         safari  => { "3.1" => "n", "13.1" => "n d #2", "15.4" => "a d #3", "16.4" => "y" },
                                                                         samsung => { "4" => "n", "12.0" => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Lazy loading via attribute for images & iframes",
                                                       ucprefix     => 0,
                                                     },
                "localecompare"                   => {
                                                       categories => ["JS"],
                                                       description => "The `localeCompare()` method returns a number indicating whether a reference string comes before or after or is the same as the given string in sort order.",
                                                       links => [
                                                         {
                                                           title => "MDN article",
                                                           url => "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare",
                                                         },
                                                       ],
                                                       notes_by_num => {
                                                         1 => "Only supports basic support without locale & options parameters.",
                                                       },
                                                       spec => "https://tc39.es/ecma402/#sup-String.prototype.localeCompare",
                                                       stats => {
                                                         and_chr => { "2.1" => "a #1", "4.4" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "a #1" },
                                                         chrome  => { 4 => "a #1", 24 => "y" },
                                                         edge    => { "5.5" => "u", "6" => "a #1", "11" => "y" },
                                                         firefox => { 2 => "a #1", 29 => "y" },
                                                         ie_mob  => { 10 => "a #1", 11 => "y" },
                                                         ios_saf => { "10.0-10.2" => "y", "3.2" => "a #1" },
                                                         kaios   => { "2.5" => "a", "3.0-3.1" => "y" },
                                                         op_mini => { all => "a #1" },
                                                         op_mob  => { "10" => "u", "12.1" => "a #1", "80" => "y" },
                                                         opera   => { "9" => "u", "12.1" => "a #1", "15" => "y" },
                                                         safari  => { "3.1" => "a #1", "10" => "y" },
                                                         samsung => { "4" => "a #1", "5.0-5.4" => "y" },
                                                       },
                                                       status => "other",
                                                       title => "localeCompare()",
                                                       ucprefix => 0,
                                                     },
                "magnetometer"                    => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5698781827825664,
                                                       description  => "Defines a concrete sensor interface to measure magnetic field in the X, Y and Z axis.",
                                                       links        => [
                                                                         {
                                                                           title => "Demo",
                                                                           url => "https://intel.github.io/generic-sensor-demos/vr-button/build/bundled/",
                                                                         },
                                                                         {
                                                                           title => "Article",
                                                                           url => "https://developers.google.com/web/updates/2017/09/sensors-for-the-web",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Available by enabling the \"Generic Sensor Extra Classes\" experimental flag in `about:flags`",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/magnetometer/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 58 => "n d #1" },
                                                                         edge    => { "5.5" => "n" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 44 => "n d #1" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Magnetometer",
                                                       ucprefix     => 0,
                                                     },
                "matchesselector"                 => {
                                                       categories   => ["DOM", "JS API"],
                                                       description  => "Method of testing whether or not a DOM element matches a given selector. Formerly known (and largely supported with prefix) as matchesSelector.",
                                                       keywords     => " matchesSelector",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Element matches",
                                                                           url => "https://developer.mozilla.org/en/docs/Web/API/Element/matches",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/dom/HTMLElement/matches",
                                                                         },
                                                                       ],
                                                       notes        => "Partial support refers to supporting the older specification's \"matchesSelector\" name rather than just \"matches\".",
                                                       notes_by_num => {},
                                                       spec         => "https://dom.spec.whatwg.org/#dom-element-matches",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "2.2" => "a x", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a x" },
                                                                         chrome  => { 4 => "a x", 34 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "a x", "15" => "y" },
                                                                         firefox => { "2" => "n", "3.6" => "a x", "34" => "y" },
                                                                         ie_mob  => { 10 => "a x" },
                                                                         ios_saf => { "3.2" => "n", "4.0-4.1" => "a x", "8" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "n", "11.1" => "a x", "80" => "y" },
                                                                         opera   => { "9" => "n", "11.5" => "a x", "21" => "y" },
                                                                         safari  => { "3.1" => "n", "5" => "a x", "7.1" => "y" },
                                                                         samsung => { "4" => "a x", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "matches() DOM method",
                                                       ucprefix     => 0,
                                                     },
                "matchmedia"                      => {
                                                       categories   => ["DOM", "JS API"],
                                                       chrome_id    => 4677872220372992,
                                                       description  => "API for finding out whether or not a media query applies to the document.",
                                                       keywords     => "mediaquerylist",
                                                       links        => [
                                                                         {
                                                                           title => "matchMedia.js polyfill",
                                                                           url => "https://github.com/paulirish/matchMedia.js/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - matchMedia",
                                                                           url => "https://developer.mozilla.org/en/DOM/window.matchMedia",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Using matchMedia",
                                                                           url => "https://developer.mozilla.org/en/CSS/Using_media_queries_from_code",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/media_queries/apis/matchMedia",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/cssom-view/#dom-window-matchmedia",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 9 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "n", 6 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { "10" => "n", "12.1" => "y" },
                                                                         opera   => { "9" => "n", "12.1" => "y" },
                                                                         safari  => { "3.1" => "n", "5.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "matchMedia",
                                                       ucprefix     => 0,
                                                     },
                "mathml"                          => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 5240822173794304,
                                                       description  => "Special tags that allow mathematical formulas and notations to be written on web pages.",
                                                       links        => [
                                                                         { title => "Wikipedia", url => "https://en.wikipedia.org/wiki/MathML" },
                                                                         {
                                                                           title => "Cross-browser support script",
                                                                           url => "https://www.mathjax.org",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - MathML",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/MathML",
                                                                         },
                                                                         {
                                                                           title => "MathML torture test",
                                                                           url => "https://fred-wang.github.io/MathFonts/mozilla_mathml_test/",
                                                                         },
                                                                         {
                                                                           title => "MathML in Chromium Project Roadmap",
                                                                           url => "https://mathml.igalia.com/project/",
                                                                         },
                                                                       ],
                                                       notes        => "Support was added in Chrome 24, but temporarily removed afterwards due to instability.",
                                                       notes_by_num => {
                                                                         1 => "Before version 4, Firefox only supports the XHTML notation",
                                                                         2 => "Before version 10, Safari had issues rendering significant portions of the MathML torture test",
                                                                         3 => "Can be enabled via the `#enable-experimental-web-platform-features` flag in `chrome://flags`",
                                                                         4 => "Browsers based on Chromium 109+ specifically support [MathML Core](https://www.w3.org/TR/mathml-core/). While there is significant support overlap with other MathML implementations there are some differences ([see details](https://groups.google.com/a/chromium.org/g/blink-dev/c/n4zf_3FWmAA/m/oait3tsMAQAJ)).",
                                                                         5 => "Opera's support is limited to a CSS profile of MathML",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/MathML/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "p", "135" => "y #4" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "p" },
                                                                         and_uc  => { "15.5" => "p" },
                                                                         baidu   => { "13.52" => "p" },
                                                                         bb      => { 7 => "p", 10 => "y" },
                                                                         chrome  => { 4 => "p", 24 => "y", 25 => "p", 97 => "p d #3", 109 => "y #4" },
                                                                         edge    => {
                                                                                      "5.5" => "n",
                                                                                      "6"   => "p",
                                                                                      "9"   => "n",
                                                                                      "79"  => "p",
                                                                                      "97"  => "p d #3",
                                                                                      "109" => "y #4",
                                                                                    },
                                                                         firefox => { 2 => "y #1", 4 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "p", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "p" },
                                                                         op_mob  => { 10 => "p", 80 => "y #4" },
                                                                         opera   => { "15" => "p", "83" => "p d #3", "9" => "n", "9.5-9.6" => "a #5", "95" => "y #4" },
                                                                         safari  => { "3.1" => "a #2", "10" => "y" },
                                                                         samsung => { 4 => "p", 21 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "MathML",
                                                       ucprefix     => 0,
                                                     },
                "maxlength"                       => {
                                                       categories   => ["DOM", "HTML5", "JS API"],
                                                       description  => "Declares an upper bound on the number of characters the user can input. Normally the UI ignores attempts by the user to type in additional characters beyond this limit.",
                                                       keywords     => "maximum,length,input,textarea,too,long,validity,state",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - attribute maxlength",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-maxlength",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "`<textarea>`'s' UI does not prevent the user from typing additional characters beyond the `maxlength` limit.",
                                                                         2 => "Does not support the `HTMLTextAreaElement.maxLength` DOM property.",
                                                                         3 => "Does not support [`ValidityState.tooLong`](https://developer.mozilla.org/en-US/docs/Web/API/ValidityState/tooLong). In some cases, this is because `.validity` is not supported in the first place.",
                                                                         4 => "Does not support `ValidityState.tooLong` correctly in the (unlikely) case of the value being initially set too long, then changed by the user to a still incorrect state. See [Firefox bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1203844) and [MS Edge bug](https://web.archive.org/web/20171210191653/https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/4678527/).",
                                                                         5 => "`<input>`'s UI does not prevent the user from typing additional characters beyond the `maxlength` limit between two existing characters of the string.",
                                                                         6 => "Allows text beyond maxlength to be entered at first, but removes all characters past the maxlength when focus is lost.",
                                                                       },
                                                       parent       => "form-validation",
                                                       spec         => "https://html.spec.whatwg.org/multipage/forms.html#attr-input-maxlength",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "y", "135" => "y #6" },
                                                                         and_ff  => { 137 => "y #6" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "u", "6" => "a #1 #2 #3", "10" => "y", "12" => "y #4", "79" => "y" },
                                                                         firefox => { 2 => "a #1 #2 #3", 4 => "y #4", 51 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "u", "4.0-4.1" => "y", "8" => "a #5", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "y #4" },
                                                                         op_mini => { all => "a #1" },
                                                                         op_mob  => { 10 => "a #1", 80 => "y #6" },
                                                                         opera   => { "15" => "y", "9" => "u", "9.5-9.6" => "a #1" },
                                                                         safari  => { "3.1" => "u", "3.2" => "a #1 #2 #3", "5" => "u", "5.1" => "y" },
                                                                         samsung => { 4 => "y #6" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "maxlength attribute for input and textarea elements",
                                                       ucprefix     => 0,
                                                     },
                "media-fragments"                 => {
                                                       categories => ["DOM"],
                                                       description => "Allows only part of a resource to be shown, based on the fragment identifier in the URL. Currently support is primarily limited to video track ranges.",
                                                       links => [
                                                         {
                                                           title => "Media fragments on MDN",
                                                           url => "https://developer.mozilla.org/de/docs/Web/HTML/Using_HTML5_audio_and_video#Specifying_playback_range",
                                                         },
                                                       ],
                                                       notes_by_num => {
                                                         1 => "Only appears to support the `#t=n,n` control for selecting a range of video, and possibly `track=(name)` & `id=(name)` (not yet tested)",
                                                       },
                                                       spec => "https://www.w3.org/TR/media-frags/",
                                                       stats => {
                                                         and_chr => { "2.1" => "n", "4.4" => "a #1" },
                                                         and_ff  => { 137 => "a #1" },
                                                         and_qq  => { "14.9" => "a #1" },
                                                         and_uc  => { "15.5" => "a #1" },
                                                         baidu   => { "13.52" => "a #1" },
                                                         bb      => { 7 => "n" },
                                                         chrome  => { 4 => "n", 18 => "a #1" },
                                                         edge    => { "5.5" => "n", "79" => "a #1" },
                                                         firefox => { 2 => "n", 34 => "a #1" },
                                                         ie_mob  => { 10 => "a #1" },
                                                         ios_saf => { "3.2" => "n", "8" => "a #1" },
                                                         kaios   => { "2.5" => "a #1" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "n", 80 => "a #1" },
                                                         opera   => { 9 => "n", 15 => "a #1" },
                                                         safari  => { "3.1" => "n", "6" => "a #1" },
                                                         samsung => { "4" => "n", "6.2-6.4" => "a #1" },
                                                       },
                                                       status => "rec",
                                                       title => "Media Fragments",
                                                       ucprefix => 0,
                                                     },
                "mediacapture-fromelement"        => {
                                                       categories   => ["DOM", "JS API"],
                                                       chrome_id    => "5522768674160640,4817998447640576",
                                                       description  => "API to capture Real-Time video and audio from a DOM element, such as a `<video>`, `<audio>`, or `<canvas>` element via the `captureStream` method, in the form of a `MediaStream`",
                                                       keywords     => "canvas,mediastream,capturestream,canvas.capturestream",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - capture from <canvas>",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/captureStream",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - capture from <video>/<audio>",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/captureStream",
                                                                         },
                                                                         {
                                                                           title => "Google Developers article",
                                                                           url => "https://developers.google.com/web/updates/2016/10/capture-stream",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Does not support capture from `<video>`/`<audio>`",
                                                                         2 => "Capture from `<video>`/`<audio>` can be enabled via the Experimental Web Platform Features flag.",
                                                                       },
                                                       parent       => "stream",
                                                       spec         => "https://w3c.github.io/mediacapture-fromelement/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "a #2" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 51 => "a d #2", 62 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 43 => "a #2" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "a #2" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 36 => "a d #2", 48 => "y" },
                                                                         safari  => { "3.1" => "n", "11" => "a #1" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "a #1", "8.2" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Media Capture from DOM Elements API",
                                                       ucprefix     => 0,
                                                     },
                "mediarecorder"                   => {
                                                       categories   => ["DOM", "JS API"],
                                                       chrome_id    => 5929649028726784,
                                                       description  => "The MediaRecorder API (MediaStream Recording) aims to provide a really simple mechanism by which developers can record media streams from the user's input devices and instantly use them in web apps, rather than having to perform manual encoding operations on raw PCM data, etc.",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - MediaRecorder",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder_API",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled via the experimental Web Platform features flag. Does not support audio recording, only video.",
                                                                         2 => "Can be enabled using the Develop > Experimental Features menu.",
                                                                         3 => "Can be enabled using the Advanced > Experimental Features menu.",
                                                                       },
                                                       parent       => "stream",
                                                       spec         => "https://w3c.github.io/mediacapture-record/MediaRecorder.html",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 47 => "n d #1", 49 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 29 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "12.0-12.1" => "n d #3", "14.5-14.8" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 34 => "n d #1", 36 => "y" },
                                                                         safari  => { "3.1" => "n", "12.1" => "n d #2", "14.1" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "MediaRecorder API",
                                                       ucprefix     => 0,
                                                     },
                "mediasource"                     => {
                                                       categories   => ["DOM", "JS API"],
                                                       chrome_id    => 4563797888991232,
                                                       description  => "API allowing media data to be accessed from HTML `video` and `audio` elements.",
                                                       keywords     => "sourcebuffer,endofstream,mse",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - MediaSource",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/MediaSource",
                                                                         },
                                                                         {
                                                                           title => "MSDN article",
                                                                           url => "https://msdn.microsoft.com/en-us/library/dn594470%28v=vs.85%29.aspx",
                                                                         },
                                                                         { title => "MediaSource demo", url => "https://simpl.info/mse/" },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support in IE11 refers to only working in Windows 8+",
                                                                         2 => "Fully supported only in iPadOS, 13 and later",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/media-source/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4.3-4.4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 17 => "n d", 23 => "y x", 31 => "y" },
                                                                         edge    => { "5.5" => "n", "11" => "a #1", "12" => "y" },
                                                                         firefox => { 2 => "n", 25 => "n d", 42 => "y" },
                                                                         ie_mob  => { 10 => "n", 11 => "y" },
                                                                         ios_saf => { "13.0-13.1" => "a #2", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "8" => "y" },
                                                                         samsung => { "4" => "n", "9.2" => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "Media Source Extensions",
                                                       ucprefix     => 0,
                                                     },
                "menu"                            => {
                                                       categories   => ["HTML5"],
                                                       description  => "Method of defining a context menu item, now deprecated and [removed from the HTML specification](https://github.com/whatwg/html/issues/2730). ",
                                                       keywords     => "contextmenu,<menuitem>,command",
                                                       links        => [
                                                                         {
                                                                           title => "Demo",
                                                                           url => "https://bug617528.bugzilla.mozilla.org/attachment.cgi?id=554309",
                                                                         },
                                                                         {
                                                                           title => "jQuery polyfill",
                                                                           url => "https://github.com/swisnl/jQuery-contextMenu",
                                                                         },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/events.js#event-contextmenu",
                                                                         },
                                                                         {
                                                                           title => "Bug on Firefox support",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=746087",
                                                                         },
                                                                         {
                                                                           title => "Chromium support bug",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=87553",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support in Firefox refers to being limited to context menus, not toolbar menus.",
                                                                         2 => "Can be enabled with the `dom.menuitem.enabled` preference in `about:config`.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/2016/REC-html51-20161101/interactive-elements.html#context-menus",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n d #1 #2" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 41 => "n d", 61 => "n" },
                                                                         edge    => { "5.5" => "n" },
                                                                         firefox => { 2 => "n", 8 => "a #1", 85 => "n d #1 #2" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 35 => "n d", 47 => "n" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Context menu item (menuitem element)",
                                                       ucprefix     => 0,
                                                     },
                "meta-theme-color"                => {
                                                       categories   => ["DOM", "Other"],
                                                       chrome_id    => 5398016231997440,
                                                       description  => "Meta tag to define a suggested color that browsers should use to customize the display of the page or of the surrounding user interface. The meta tag overrides any theme-color set in the web app manifest.",
                                                       links        => [
                                                                         {
                                                                           title => "Firefox for Android implementation bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1098544",
                                                                         },
                                                                         {
                                                                           title => "Google Developers article",
                                                                           url => "https://developers.google.com/web/updates/2014/11/Support-for-theme-color-in-Chrome-39-for-Android?hl=en",
                                                                         },
                                                                       ],
                                                       notes        => "Vivaldi browser (Chromium based) supports this feature in both mobile and desktop version. Also supported in the (now discontinued) Firefox OS.",
                                                       notes_by_num => {
                                                                         1 => "Desktop Chrome only uses the color on installed `progressive web apps`.",
                                                                         2 => "Desktop Chrome 39-72 claimed to have support, but did not actually use the color anywhere. Chrome for Android did use the color in the toolbar.",
                                                                         3 => "Chrome for Android does not use the color on devices with native `dark-mode` enabled before Chrome 92 unless it's an installed `progressive web app` or a `trusted web activity`.",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/semantics.html#meta-theme-color",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 39 => "n #2", 73 => "a #1" },
                                                                         edge    => { "5.5" => "n" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "15.0-15.1" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n" },
                                                                         safari  => { "3.1" => "n", "15" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "u", "6.2-6.4" => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "theme-color Meta Tag",
                                                       ucprefix     => 0,
                                                     },
                "meter"                           => {
                                                       categories   => ["HTML5"],
                                                       description  => "Method of indicating the current level of a gauge.",
                                                       keywords     => "<meter>",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Element meter",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meter",
                                                                         },
                                                                         {
                                                                           title => "HTML5 Doctor on meter element",
                                                                           url => "https://html5doctor.com/measure-up-with-the-meter-tag/",
                                                                         },
                                                                         {
                                                                           title => "Dev.Opera article",
                                                                           url => "https://dev.opera.com/articles/new-form-features-in-html5/#newoutput",
                                                                         },
                                                                         {
                                                                           title => "Examples of progress and meter elements",
                                                                           url => "https://peter.sh/examples/?/html/meter-progress.html",
                                                                         },
                                                                         {
                                                                           title => "The HTML `<meter>` element and its (undefined) segment boundaries",
                                                                           url => "https://www.ctrl.blog/entry/html-meter-segment-boundaries.html",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/forms.html#the-meter-element",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "n", 8 => "y" },
                                                                         edge    => { "5.5" => "n", "13" => "y" },
                                                                         firefox => { 2 => "n", 16 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "10.3" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "n", 11 => "y" },
                                                                         opera   => { 9 => "n", 11 => "y" },
                                                                         safari  => { "3.1" => "n", "6" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "meter element",
                                                       ucprefix     => 0,
                                                     },
                "midi"                            => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 4923613069180928,
                                                       description  => "The Web MIDI API specification defines a means for web developers to enumerate, manipulate and access MIDI devices",
                                                       keywords     => "webmidi",
                                                       links        => [
                                                                         {
                                                                           title => "Polyfill",
                                                                           url => "https://github.com/cwilso/WebMIDIAPIShim",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=836897",
                                                                         },
                                                                         {
                                                                           title => "Test/demo page",
                                                                           url => "https://www.onlinemusictools.com/webmiditest/",
                                                                         },
                                                                         {
                                                                           title => "WebKit support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=107250",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://webaudio.github.io/web-midi-api/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 43 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 108 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 30 => "y" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Web MIDI API",
                                                       ucprefix     => 0,
                                                     },
                "minmaxwh"                        => {
                                                       categories   => ["CSS2"],
                                                       description  => "Method of setting a minimum or maximum width or height to an element. ",
                                                       keywords     => "min-width,min-height,max-width,max-height",
                                                       links        => [
                                                                         {
                                                                           title => "JS library with support",
                                                                           url => "https://code.google.com/archive/p/ie7-js/",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/properties/min-width",
                                                                         },
                                                                         {
                                                                           title => "CSS Basics post",
                                                                           url => "https://www.impressivewebs.com/min-max-width-height-css/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "IE7 does not support `inherit` as a value on any of these properties.",
                                                                         2 => "IE8 has some bugs with `max-width`/`height` combined with `overflow: auto`/`scroll`.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/CSS21/visudet.html#min-max-widths",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "p", "7" => "y #1", "8" => "y #2", "9" => "y" },
                                                                         firefox => { 2 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { 9 => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "CSS min/max-width/height",
                                                       ucprefix     => 0,
                                                     },
                "mp3"                             => {
                                                       categories   => ["Other"],
                                                       description  => "Popular lossy audio compression format",
                                                       keywords     => "mpeg",
                                                       links        => [
                                                                         { title => "Wikipedia", url => "https://en.wikipedia.org/wiki/MP3" },
                                                                       ],
                                                       notes        => "Support refers to this format's use in the `audio` element, not other conditions.",
                                                       notes_by_num => {
                                                                         1 => "Partial support in older Firefox refers to being limited to certain operating systems.",
                                                                       },
                                                       parent       => "audio",
                                                       spec         => "http://mpgedit.org/mpgedit/mpeg_format/MP3Format.html",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "2.3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                                         firefox => { "2" => "n", "3.5" => "a #1", "22" => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "4.0-4.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 11 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "4" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "MP3 audio format",
                                                       ucprefix     => 0,
                                                     },
                "mpeg-dash"                       => {
                                                       categories   => ["Other"],
                                                       description  => "HTTP-based media streaming communications protocol, an alternative to HTTP Live Streaming (HLS).",
                                                       links        => [
                                                                         {
                                                                           title => "Wikipedia article",
                                                                           url => "https://en.wikipedia.org/wiki/Dynamic_Adaptive_Streaming_over_HTTP",
                                                                         },
                                                                         {
                                                                           title => "JavaScript implementation",
                                                                           url => "https://github.com/Dash-Industry-Forum/dash.js/",
                                                                         },
                                                                       ],
                                                       notes        => "DASH can be used with a JavaScript library in browsers that doesn't support it natively as long as they support [Media Source Extensions](/mediasource).",
                                                       notes_by_num => {
                                                                         1 => "Can be enabled via the `media.dash.enabled` flag.",
                                                                         2 => "Only WebM video is supported.",
                                                                       },
                                                       spec         => "https://www.iso.org/standard/65274.html",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n" },
                                                                         edge    => { "5.5" => "n", "12" => "y", "79" => "n" },
                                                                         firefox => { 2 => "n", 21 => "n #1 #2", 23 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Dynamic Adaptive Streaming over HTTP (MPEG-DASH)",
                                                       ucprefix     => 0,
                                                     },
                "mpeg4"                           => {
                                                       categories   => ["Other"],
                                                       description  => "Commonly used video compression format.",
                                                       keywords     => "avc,mp4,mpv,mov,aac,h264",
                                                       links        => [
                                                                         {
                                                                           title => "Wikipedia article",
                                                                           url => "https://en.wikipedia.org/wiki/H.264/MPEG-4_AVC",
                                                                         },
                                                                         {
                                                                           title => "Firefox extension allowing support in Win7",
                                                                           url => "http://www.interoperabilitybridges.com/html5-extension-for-wmp-plugin",
                                                                         },
                                                                       ],
                                                       notes        => "Firefox supports H.264 on Windows 7 and later since version 21. Firefox supports H.264 on Linux since version 26 if the appropriate system libraries are installed.\r\n\r\nPartial support for older Firefox versions refers to the lack of support in OS X & some non-Android Linux platforms.",
                                                       notes_by_num => {
                                                                         1 => "The Android 2.3 browser requires [specific handling](https://www.broken-links.com/2010/07/08/making-html5-video-work-on-android-phones/) to play videos.",
                                                                       },
                                                       parent       => "video",
                                                       spec         => "http://ip.hhi.de/imagecom_G1/assets/pdfs/csvt_overview_0305.pdf",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a", "2.3" => "a #1", "3" => "a", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                                         firefox => { 2 => "n", 21 => "a", 35 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 11 => "y" },
                                                                         opera   => { 9 => "n", 25 => "y" },
                                                                         safari  => { "3.1" => "n", "3.2" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "MPEG-4/H.264 video format",
                                                       ucprefix     => 0,
                                                     },
                "multibackgrounds"                => {
                                                       categories => ["CSS3"],
                                                       description => "Method of using multiple images as a background",
                                                       links => [
                                                         {
                                                           title => "Demo & information page",
                                                           url => "https://www.css3.info/preview/multiple-backgrounds/",
                                                         },
                                                         {
                                                           title => "WebPlatform Docs",
                                                           url => "https://webplatform.github.io/docs/css/properties/background-image",
                                                         },
                                                       ],
                                                       notes_by_num => {},
                                                       spec => "https://www.w3.org/TR/css3-background/",
                                                       stats => {
                                                         and_chr => { "2.1" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "y" },
                                                         chrome  => { 4 => "y" },
                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                         firefox => { "2" => "n", "3.6" => "y" },
                                                         ie_mob  => { 10 => "y" },
                                                         ios_saf => { "3.2" => "y" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "y" },
                                                         op_mob  => { 10 => "y" },
                                                         opera   => { "9" => "n", "10.5" => "y" },
                                                         safari  => { "3.1" => "y" },
                                                         samsung => { 4 => "y" },
                                                       },
                                                       status => "cr",
                                                       title => "CSS3 Multiple backgrounds",
                                                       ucprefix => 0,
                                                     },
                "multicolumn"                     => {
                                                       categories   => ["CSS3"],
                                                       chrome_id    => "6526151266664448,5630943616303104",
                                                       description  => "Method of flowing information in multiple columns",
                                                       keywords     => "column-count,column-width,column-gap,column-rule,column-rule-type,column-span,column-fill,break-before,break-after,break-inside",
                                                       links        => [
                                                                         {
                                                                           title => "Dev.Opera article",
                                                                           url => "https://dev.opera.com/articles/view/css3-multi-column-layout/",
                                                                         },
                                                                         {
                                                                           title => "Introduction page",
                                                                           url => "https://webdesign.tutsplus.com/articles/an-introduction-to-the-css3-multiple-column-layout-module--webdesign-4934",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/properties/column-width",
                                                                         },
                                                                         {
                                                                           title => "Polyfill",
                                                                           url => "https://github.com/hamsterbacke23/multicolumn-polyfill",
                                                                         },
                                                                         {
                                                                           title => "Chrome platform status for CSS column-fill",
                                                                           url => "https://www.chromestatus.com/feature/6298909664083968",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Does not support the properties `break-after`, `break-before`, and `break-inside`. WebKit- and Blink-based browsers have equivalent support with the non-standard `-webkit-column-break-*` properties, but only for the values `auto` and `always`. Firefox does not support the `break-*` properties but supports the now-obsolete `page-break-*` properties in the paging (printing) context.",
                                                                         2 => "Does not support the `column-fill` property.",
                                                                         3 => "Does not support the values `avoid` (in the column context), `avoid-column`, and `avoid-page` for the properties `break-after`, `break-before`, and `break-inside`; does not support the value `column` for the properties `break-after` and `break-before`.",
                                                                         4 => "Does not support the values `avoid` (in the column context) for the properties `break-after`, `break-before`, and `break-inside`; does not support the values `avoid-column`, `avoid-page`, and `column` for the properties `break-before` and `break-after`.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-multicol/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a x #1 #2", "135" => "a #3" },
                                                                         and_ff  => { 137 => "a #4" },
                                                                         and_qq  => { "14.9" => "a #3" },
                                                                         and_uc  => { "15.5" => "a #3" },
                                                                         baidu   => { "13.52" => "a #3" },
                                                                         bb      => { 7 => "a x #1 #2" },
                                                                         chrome  => { 4 => "a x #1 #2", 50 => "a #3" },
                                                                         edge    => { "5.5" => "n", "10" => "y", "79" => "a #3" },
                                                                         firefox => { 2 => "a x #1", 52 => "a #1", 65 => "a #3", 92 => "a #4" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => {
                                                                                      "10.0-10.2" => "y",
                                                                                      "3.2"       => "a x #1 #2",
                                                                                      "7.0-7.1"   => "a x #1",
                                                                                      "9.0-9.2"   => "a #1",
                                                                                    },
                                                                         kaios   => { "2.5" => "a x #1" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { "10" => "n", "11.1" => "y", "80" => "a #3" },
                                                                         opera   => { "9" => "n", "11.1" => "y", "15" => "a x #1 #2", "37" => "a #3" },
                                                                         safari  => { "3.1" => "a x #1 #2", "7" => "a x #1", "9" => "a #1", "10" => "y" },
                                                                         samsung => { "4" => "a x #1 #2", "5.0-5.4" => "a #3" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS3 Multiple column layout",
                                                       ucprefix     => 0,
                                                     },
                "mutation-events"                 => {
                                                       categories   => ["DOM"],
                                                       chrome_id    => 5083947249172480,
                                                       description  => "Deprecated mechanism for listening to changes made to the DOM, replaced by Mutation Observers.",
                                                       keywords     => "DOMAttrModified,DOMCharacterDataModified,DOMNodeInserted,DOMNodeInsertedIntoDocument,DOMNodeRemoved,DOMNodeRemovedFromDocument,DOMSubtreeModified",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - MutationEvent",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/MutationEvent",
                                                                         },
                                                                       ],
                                                       notes        => "Mutation events are deprecated and have been removed from the spec as of 2024-09-07. Instead see support for [Mutation Observer](/mutationobserver), which replaces mutation events and does not have the same performance drawbacks.",
                                                       notes_by_num => {
                                                                         1 => "Does not support `DOMAttrModified`",
                                                                         2 => "Does not support `DOMNodeInsertedIntoDocument` & `DOMNodeRemovedFromDocument`",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/2024/WD-uievents-20240906/#legacy-mutationevent-events",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "a #1", "135" => "n d" },
                                                                         and_ff  => { 137 => "a #2" },
                                                                         and_qq  => { "14.9" => "a #1" },
                                                                         and_uc  => { "15.5" => "a #1" },
                                                                         baidu   => { "13.52" => "a #1" },
                                                                         bb      => { 7 => "a #1" },
                                                                         chrome  => { 4 => "u", 15 => "a #1", 127 => "n d" },
                                                                         edge    => { "5.5" => "n", "9" => "a #2", "79" => "a #1", "127" => "n d" },
                                                                         firefox => { 2 => "n", 6 => "a #2" },
                                                                         ie_mob  => { 10 => "a #2" },
                                                                         ios_saf => { "3.2" => "u", "4.2-4.3" => "a #1" },
                                                                         kaios   => { "2.5" => "a #2" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 11 => "u", 12 => "y", 80 => "a #1" },
                                                                         opera   => { "9" => "n", "11" => "u", "11.6" => "y", "15" => "a #1", "113" => "n d" },
                                                                         safari  => { "3.1" => "u", "4" => "a #1" },
                                                                         samsung => { 4 => "a #1" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Mutation events",
                                                       ucprefix     => 0,
                                                     },
                "mutationobserver"                => {
                                                       categories   => ["DOM", "JS API"],
                                                       chrome_id    => 5021194726146048,
                                                       description  => "Method for observing and reacting to changes to the DOM. Replaces MutationEvents, which is deprecated.",
                                                       keywords     => "MutationObserver",
                                                       links        => [
                                                                         {
                                                                           title => "MutationObserver from MDN",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver",
                                                                         },
                                                                         {
                                                                           title => "Polyfill",
                                                                           url => "https://github.com/webcomponents/webcomponentsjs",
                                                                         },
                                                                       ],
                                                       notes        => "When changing the `innerHTML` content of a node containing a single `CharacterData` node, resulting in a single-but-different `CharacterData` child node, WebKit browsers consider this a `characterData` mutation of the child `CharacterData` node, while other browsers consider it a `childList` mutation of the parent node.",
                                                       notes_by_num => {},
                                                       spec         => "https://dom.spec.whatwg.org/#mutation-observers",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4" => "p", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 18 => "y x", 27 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "p", "11" => "y" },
                                                                         firefox => { 2 => "n", 14 => "y" },
                                                                         ie_mob  => { 10 => "p", 11 => "y" },
                                                                         ios_saf => { "3.2" => "n", "6.0-6.1" => "y x", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "6" => "y x", "6.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Mutation Observer",
                                                       ucprefix     => 0,
                                                     },
                "namevalue-storage"               => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5345825534246912,
                                                       description  => "Method of storing data locally like cookies, but for larger amounts of data (sessionStorage and localStorage, used to fall under HTML5).",
                                                       keywords     => "webstorage,local storage",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Web Storage",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API",
                                                                         },
                                                                         {
                                                                           title => "Support library",
                                                                           url => "https://code.google.com/archive/p/sessionstorage/downloads",
                                                                         },
                                                                         { title => "Simple demo", url => "https://html5demos.com/storage" },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-localstorage;native-sessionstorage",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/apis/web-storage/Storage/localStorage",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/webstorage.html#storage",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "6" => "p", "8" => "y" },
                                                                         firefox => { "2" => "a", "3.5" => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 11 => "y" },
                                                                         opera   => { "9" => "n", "10.5" => "y" },
                                                                         safari  => { "3.1" => "n", "4" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Web Storage - name/value pairs",
                                                       ucprefix     => 0,
                                                     },
                "native-filesystem-api"           => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 6284708426022912,
                                                       description  => "API for manipulating files in the device's local file system (not in a sandbox).",
                                                       keywords     => "File System,File System API,chooseFileSystemEntries,getFile",
                                                       links        => [
                                                                         {
                                                                           title => "Explainer",
                                                                           url => "https://github.com/WICG/file-system-access/blob/master/EXPLAINER.md",
                                                                         },
                                                                         {
                                                                           title => "Web.dev blog post",
                                                                           url => "https://web.dev/file-system-access/",
                                                                         },
                                                                         {
                                                                           title => "Firefox position: harmful",
                                                                           url => "https://mozilla.github.io/standards-positions/#file-system-access",
                                                                         },
                                                                         {
                                                                           title => "Chrome blog post",
                                                                           url => "https://developers.google.com/web/updates/2019/08/native-file-system",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled in desktop Chromium browsers with the `#native-file-system-api` flag.",
                                                                         2 => "Parts of the API are still missing.",
                                                                       },
                                                       spec         => "https://wicg.github.io/file-system-access/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 74 => "n d #1", 86 => "a #2", 105 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "n d #1", "86" => "a #2", "105" => "y" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 62 => "n d #1", 72 => "a #2", 91 => "y" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "File System Access API",
                                                       ucprefix     => 0,
                                                     },
                "nav-timing"                      => {
                                                       categories   => ["DOM", "JS API"],
                                                       chrome_id    => 5584144679567360,
                                                       description  => "API for accessing timing information related to navigation and elements.",
                                                       keywords     => "performance,performance.timing,performancenavigation",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Navigation Timing",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Navigation_timing_API",
                                                                         },
                                                                         {
                                                                           title => "HTML5 Rocks tutorial",
                                                                           url => "https://www.html5rocks.com/en/tutorials/webperformance/basics/",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/apis/navigation_timing",
                                                                         },
                                                                       ],
                                                       notes        => "Removed in iOS 8.1 due to poor performance.",
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/navigation-timing/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 6 => "y x", 13 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                                         firefox => { 2 => "n", 7 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "8" => "y", "8.1-8.4" => "n", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "8" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "Navigation Timing API",
                                                       ucprefix     => 0,
                                                     },
                "netinfo"                         => {
                                                       categories   => ["DOM", "JS API"],
                                                       chrome_id    => 6338383617982464,
                                                       description  => "The Network Information API enables web applications to access information about the network connection in use by the device. Accessed via `navigator.connection`",
                                                       keywords     => "performance,network,network information,netinfo",
                                                       links        => [
                                                                         {
                                                                           title => "(NetInfo) Capability reporting with ServiceWorker",
                                                                           url => "https://www.igvita.com/2014/12/15/capability-reporting-with-service-worker/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Supports only the `navigator.connection.type` value which doesn't match the latest spec. [see details](https://www.davidbcalhoun.com/2010/optimizing-based-on-connection-speed-using-navigator.connection-on-android-2.2-/)",
                                                                         2 => "Only supports the `type` value.",
                                                                         3 => "Only supports the `type` and `downlinkMax` values.",
                                                                         4 => "Only supports the `downlink`, `effectiveType` & `rtt` values.",
                                                                       },
                                                       spec         => "https://wicg.github.io/netinfo/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "2.2" => "a #1", "4.4" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 61 => "a #4" },
                                                                         edge    => { "5.5" => "n", "79" => "a #4" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "a #2", "3.0-3.1" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 48 => "a #4" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { "4" => "a #1", "5.0-5.4" => "a #3", "8.2" => "y" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Network Information API",
                                                       ucprefix     => 0,
                                                     },
                "notifications"                   => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5064350557536256,
                                                       description  => "Method of alerting the user outside of a web page by displaying notifications (that do not require interaction by the user).",
                                                       links        => [
                                                                         {
                                                                           title => "HTML5 Rocks tutorial",
                                                                           url => "https://www.html5rocks.com/tutorials/notifications/quick/",
                                                                         },
                                                                         {
                                                                           title => "Chromium API",
                                                                           url => "https://www.chromium.org/developers/design-documents/desktop-notifications/api-specification/",
                                                                         },
                                                                         {
                                                                           title => "Add-on",
                                                                           url => "https://addons.mozilla.org/en-us/firefox/addon/221523/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Notification",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/notification",
                                                                         },
                                                                         {
                                                                           title => "SitePoint article",
                                                                           url => "https://www.sitepoint.com/introduction-web-notifications-api/",
                                                                         },
                                                                         {
                                                                           title => "Demo",
                                                                           url => "https://audero.it/demo/web-notifications-api-demo.html",
                                                                         },
                                                                         {
                                                                           title => "Plug-in for support in IE",
                                                                           url => "https://ie-web-notifications.github.io/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Supports notifications via the [Push API](https://caniuse.com/#feat=push-api) but not the Web Notifications API.",
                                                                         2 => "Chrome for Android requires the call to be made with a [service worker registration](https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API#Service_worker_additions)",
                                                                         3 => "Requires website to first be [added to the Home Screen](/web-app-manifest)",
                                                                       },
                                                       spec         => "https://notifications.spec.whatwg.org/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "a x" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "n #1" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 5 => "a x", 22 => "y" },
                                                                         edge    => { "5.5" => "n", "14" => "y" },
                                                                         firefox => { 2 => "n", 22 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "16.4" => "a #3" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "a x" },
                                                                         opera   => { 9 => "n", 25 => "y" },
                                                                         safari  => { "3.1" => "n", "6" => "y" },
                                                                         samsung => { "4" => "a x", "5.0-5.4" => "n #1" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Web Notifications",
                                                       ucprefix     => 0,
                                                     },
                "object-entries"                  => {
                                                       categories   => ["JS"],
                                                       description  => "The `Object.entries()` method creates a multi-dimensional array of key value pairs from the given object.",
                                                       keywords     => "ecmascript 2017,javascript",
                                                       links        => [
                                                                         {
                                                                           title => "MDN article",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries",
                                                                         },
                                                                         {
                                                                           title => "ES2017 spec-compliant shim for Object.entries",
                                                                           url => "https://github.com/es-shims/Object.entries",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for this feature is available in the core-js library",
                                                                           url => "https://github.com/zloirock/core-js#ecmascript-object",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://tc39.es/ecma262/#sec-object.entries",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "u" },
                                                                         chrome  => { 4 => "n", 54 => "y" },
                                                                         edge    => { "5.5" => "n", "14" => "y" },
                                                                         firefox => { 2 => "n", 47 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "10.3" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 41 => "y" },
                                                                         safari  => { "3.1" => "n", "10.1" => "y" },
                                                                         samsung => { "4" => "n", "6.2-6.4" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Object.entries",
                                                       ucprefix     => 0,
                                                     },
                "object-fit"                      => {
                                                       categories   => ["CSS3"],
                                                       chrome_id    => 5302669702856704,
                                                       description  => "Method of specifying how an object (image or video) should fit inside its box. object-fit options include \"contain\" (fit according to aspect ratio), \"fill\" (stretches object to fill) and \"cover\" (overflows box but maintains ratio), where object-position allows the object to be repositioned like background-image does.",
                                                       keywords     => "objectfit,objectposition",
                                                       links        => [
                                                                         {
                                                                           title => "Dev.Opera article",
                                                                           url => "https://dev.opera.com/articles/view/css3-object-fit-object-position/",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/properties/object-fit",
                                                                         },
                                                                         {
                                                                           title => "object-fit-images Polyfill for IE & Edge",
                                                                           url => "https://github.com/bfred-it/object-fit-images/",
                                                                         },
                                                                         {
                                                                           title => "MDN (object-fit)",
                                                                           url => "https://developer.mozilla.org/docs/Web/CSS/object-fit",
                                                                         },
                                                                         {
                                                                           title => "MDN (object-position)",
                                                                           url => "https://developer.mozilla.org/docs/Web/CSS/object-position",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support in Safari refers to support for `object-fit` but not `object-position`.",
                                                                         2 => "Partial support in Edge refers to `object-fit` only supporting `<img>` ([see this comment](https://web.archive.org/web/20171208010253/https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/13603873/#comment-0))",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-images/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4.3-4.4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 32 => "y" },
                                                                         edge    => { "5.5" => "n", "16" => "a #2", "79" => "y" },
                                                                         firefox => { 2 => "n", 36 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.0-10.2" => "y", "3.2" => "n", "8" => "a #1" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y x" },
                                                                         op_mob  => { 10 => "n", 11 => "y x", 80 => "y" },
                                                                         opera   => { "9" => "n", "10.6" => "y x", "15" => "n", "19" => "y" },
                                                                         safari  => { "3.1" => "n", "7.1" => "a #1", "10" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS3 object-fit/object-position",
                                                       ucprefix     => 0,
                                                     },
                "object-observe"                  => {
                                                       categories   => ["JS"],
                                                       chrome_id    => 6147094632988672,
                                                       description  => "Method for data binding, a now-withdrawn ECMAScript 7 proposal",
                                                       links        => [
                                                                         {
                                                                           title => "Data-binding Revolutions with Object.observe()",
                                                                           url => "https://www.html5rocks.com/en/tutorials/es7/observe/",
                                                                         },
                                                                         {
                                                                           title => "Polyfill",
                                                                           url => "https://github.com/MaxArt2501/object-observe",
                                                                         },
                                                                         {
                                                                           title => "Firefox tracking bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=800355",
                                                                         },
                                                                         {
                                                                           title => "An update on Object.observe",
                                                                           url => "https://esdiscuss.org/topic/an-update-on-object-observe",
                                                                         },
                                                                       ],
                                                       notes        => "Support in Blink-based browsers is expected to be removed in future versions.",
                                                       notes_by_num => {},
                                                       spec         => "http://wiki.ecmascript.org/doku.php?id=harmony:observe",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 36 => "y", 50 => "n" },
                                                                         edge    => { "5.5" => "n" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 23 => "y", 37 => "n" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { "4" => "y", "5.0-5.4" => "n" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Object.observe data binding",
                                                       ucprefix     => 0,
                                                     },
                "object-values"                   => {
                                                       categories   => ["JS"],
                                                       description  => "The `Object.values()` method returns an array of a given object's own enumerable property values.",
                                                       keywords     => "object,values",
                                                       links        => [
                                                                         {
                                                                           title => "Object.values() on MDN Web Docs",
                                                                           url => "https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_objects/Object/values",
                                                                         },
                                                                         {
                                                                           title => "Polyfill",
                                                                           url => "https://github.com/es-shims/Object.values",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for this feature is available in the core-js library",
                                                                           url => "https://github.com/zloirock/core-js#ecmascript-object",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://tc39.es/ecma262/#sec-object.values",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "p", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "p" },
                                                                         chrome  => { 4 => "p", 54 => "y" },
                                                                         edge    => { "5.5" => "p", "12" => "n", "14" => "y" },
                                                                         firefox => { 2 => "p", 47 => "y" },
                                                                         ie_mob  => { 10 => "p" },
                                                                         ios_saf => { "3.2" => "p", "10.3" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "p" },
                                                                         op_mob  => { 10 => "p", 80 => "y" },
                                                                         opera   => { 9 => "p", 41 => "y" },
                                                                         safari  => { "3.1" => "p", "10.1" => "y" },
                                                                         samsung => { "4" => "p", "6.2-6.4" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Object.values method",
                                                       ucprefix     => 0,
                                                     },
                "objectrtc"                       => {
                                                       categories   => ["JS API"],
                                                       description  => "Enables mobile endpoints to talk to servers and web browsers with Real-Time Communications (RTC) capabilities via native and simple JavaScript APIs",
                                                       keywords     => "RTC,WebRTC,ORTC,ObjectRTC,RTCIceTransport,RTCIceGatherer,RTCRtpSender,RTCRtpReceiver,Real Time,video,webcam",
                                                       links        => [
                                                                         {
                                                                           title => "Related blog posts by Microsoft",
                                                                           url => "https://blogs.windows.com/msedgedev/tag/object-rtc/",
                                                                         },
                                                                       ],
                                                       notes        => "ORTC is often dubbed WebRTC 1.1. It is possible to make ORTC communicate with WebRTC 1.0 endpoints. See [WebRTC 1.0](https://caniuse.com/#feat=rtcpeerconnection) for support details for that API.",
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/community/ortc/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n" },
                                                                         edge    => { "5.5" => "n", "13" => "y", "79" => "n" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Object RTC (ORTC) API for WebRTC",
                                                       ucprefix     => 0,
                                                     },
                "offline-apps"                    => {
                                                       categories   => ["HTML5"],
                                                       chrome_id    => 6192449487634432,
                                                       description  => "Now deprecated method of defining web page files to be cached using a cache manifest file, allowing them to work offline on subsequent visits to the page. ",
                                                       keywords     => "appcache,applicationcache,app cache,application cache,online",
                                                       links        => [
                                                                         {
                                                                           title => "Sitepoint tutorial",
                                                                           url => "https://www.sitepoint.com/offline-web-application-tutorial/",
                                                                         },
                                                                         {
                                                                           title => "Dive Into HTML5 article",
                                                                           url => "http://diveintohtml5.info/offline.html",
                                                                         },
                                                                         {
                                                                           title => "Mozilla Hacks article/demo",
                                                                           url => "https://hacks.mozilla.org/2010/01/offline-web-applications/",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/apis/appcache/ApplicationCache",
                                                                         },
                                                                       ],
                                                       notes        => "This technology is being deprecated in favor of [Service Workers](https://caniuse.com/#feat=serviceworkers)",
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/2011/WD-html5-20110525/offline.html#offline",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y", "135" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y", 85 => "n" },
                                                                         edge    => { "5.5" => "n", "6" => "p", "9" => "n", "10" => "y", "85" => "n" },
                                                                         firefox => { "2" => "p", "3" => "a", "3.5" => "y", "84" => "n" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "15.0-15.1" => "n", "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y", "3.0-3.1" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 11 => "y", 80 => "n" },
                                                                         opera   => { "10.0-10.1" => "p", "10.6" => "y", "73" => "n", "9" => "n" },
                                                                         safari  => { "3.1" => "p", "4" => "y", "15" => "n" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Offline web applications",
                                                       ucprefix     => 0,
                                                     },
                "offscreencanvas"                 => {
                                                       categories   => ["HTML5"],
                                                       chrome_id    => 5681560598609920,
                                                       description  => "OffscreenCanvas allows canvas drawing to occur with no connection to the DOM and can be used inside workers.",
                                                       links        => [
                                                                         {
                                                                           title => "MDN article",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas",
                                                                         },
                                                                         {
                                                                           title => "WebGL off the main thread - Mozilla Hacks article",
                                                                           url => "https://hacks.mozilla.org/2016/01/webgl-off-the-main-thread/",
                                                                         },
                                                                         {
                                                                           title => "Making the whole web better, one canvas at a time. - Article about canvas performance",
                                                                           url => "https://bkardell.com/blog/OffscreenCanvas.html",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1390089",
                                                                         },
                                                                         {
                                                                           title => "WebKit support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=183720",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled via the `gfx.offscreencanvas.enabled` flag. Currently only supports WebGL contexts, not 2D.",
                                                                         2 => "Can be enabled via the `Experimental canvas features` flag",
                                                                         3 => "Partial support refers to only supporting 2D contexts, not WebGL.",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/canvas.html#the-offscreencanvas-interface",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 58 => "n d #2", 69 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 44 => "n d #1", 105 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "16.2" => "a #3", "17.0" => "y" },
                                                                         kaios   => { "2.5" => "n d #1" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 45 => "n d #2", 64 => "y" },
                                                                         safari  => { "3.1" => "n", "16.2" => "a #3", "17.0" => "y" },
                                                                         samsung => { "4" => "n", "10.1" => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "OffscreenCanvas",
                                                       ucprefix     => 0,
                                                     },
                "ogg-vorbis"                      => {
                                                       categories   => ["Other"],
                                                       description  => "Vorbis is a free and open source audio format, most commonly used with the Ogg container.",
                                                       keywords     => ".ogg,.oga,application/ogg,audio/ogg",
                                                       links        => [
                                                                         {
                                                                           title => "Wikipedia article",
                                                                           url => "https://en.wikipedia.org/wiki/Vorbis",
                                                                         },
                                                                       ],
                                                       notes        => "Support refers to this format's use in the `audio` element, not other conditions.",
                                                       notes_by_num => {
                                                                         1 => "Supported on macOS Big Sur 11.3 or later.",
                                                                         2 => "Supports the Vorbis audio codec, but not the Ogg container.",
                                                                       },
                                                       parent       => "audio",
                                                       spec         => "https://www.xiph.org/vorbis/doc/Vorbis_I_spec.html",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "17" => "y" },
                                                                         firefox => { "2" => "n", "3.5" => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "17.4" => "a #2", "18.4" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 11 => "y" },
                                                                         opera   => { "9" => "n", "10.5" => "y" },
                                                                         safari  => { "3.1" => "n", "14.1" => "a #1 #2", "17.0" => "a #2", "18.4" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Ogg Vorbis audio format",
                                                       ucprefix     => 0,
                                                     },
                "ogv"                             => {
                                                       categories   => ["Other"],
                                                       description  => "Free lossy video compression format.",
                                                       keywords     => "xiph",
                                                       links        => [
                                                                         {
                                                                           title => "Wikipedia article",
                                                                           url => "https://en.wikipedia.org/wiki/Theora",
                                                                         },
                                                                         {
                                                                           title => "Chrome Platform Status: Deprecate and remove Theora support",
                                                                           url => "https://chromestatus.com/feature/5158654475239424",
                                                                         },
                                                                         {
                                                                           title => "Firefox bug: Investigate removing Theora support",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1860492",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Chrome is deprecating and removing Theora support, see [this platform status entry](https://chromestatus.com/feature/5158654475239424)",
                                                                       },
                                                       parent       => "video",
                                                       spec         => "https://theora.org/doc/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "y", 120 => "n d #1" },
                                                                         edge    => { "5.5" => "n", "9" => "p", "17" => "y", "122" => "n d #1" },
                                                                         firefox => { "2" => "n", "3.5" => "y", "130" => "n" },
                                                                         ie_mob  => { 10 => "p" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { "9" => "n", "10.5" => "y", "106" => "n d #1" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Ogg/Theora video format",
                                                       ucprefix     => 0,
                                                     },
                "ol-reversed"                     => {
                                                       categories   => ["HTML5"],
                                                       description  => "This attribute makes an ordered list number its items in descending order (large to small), instead of ascending order (small to large; the default). The order that the list items are displayed in is not affected.",
                                                       keywords     => "reversed,list,ol,attribute",
                                                       links        => [
                                                                         {
                                                                           title => "HTML5 Doctor article on <ol> element attributes (including reversed)",
                                                                           url => "https://html5doctor.com/ol-element-attributes/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/semantics.html#attr-ol-reversed",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 16 => "u", 20 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 18 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "6.0-6.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { "9" => "n", "12" => "u", "12.1" => "y" },
                                                                         safari  => { "3.1" => "n", "6" => "u", "6.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Reversed attribute of ordered lists",
                                                       ucprefix     => 0,
                                                     },
                "once-event-listener"             => {
                                                       categories   => ["DOM"],
                                                       chrome_id    => 5630331130478592,
                                                       description  => "Causes an event listener to be automatically removed after it gets invoked, so that it only gets invoked once. Similar to jQuery's `\$.one()` feature.",
                                                       keywords     => "event,listener,options,once",
                                                       links        => [
                                                                         {
                                                                           title => "Chromium Issue 615384: Support \"once\" event listener option",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=615384",
                                                                         },
                                                                         {
                                                                           title => "JS Bin testcase",
                                                                           url => "https://jsbin.com/zigiru/edit?html,js,output",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://dom.spec.whatwg.org/#dom-addeventlisteneroptions-once",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 55 => "y" },
                                                                         edge    => { "5.5" => "n", "16" => "y" },
                                                                         firefox => { 2 => "n", 50 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.0-10.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 42 => "y" },
                                                                         safari  => { "3.1" => "n", "10" => "y" },
                                                                         samsung => { "4" => "n", "6.2-6.4" => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "\"once\" event listener option",
                                                       ucprefix     => 0,
                                                     },
                "online-status"                   => {
                                                       categories   => ["JS API"],
                                                       description  => "Events to indicate when the user's connected (`online` and `offline` events) and the `navigator.onLine` property to see current status.",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - NavigatorOnLine.onLine",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/NavigatorOnLine.onLine#Specification",
                                                                         },
                                                                       ],
                                                       notes        => "\"online\" does not always mean connection to the internet, it can also just mean connection to some network.\r\n\r\nEarly versions of Chrome and Safari always reported \"true\" for `navigator.onLine`",
                                                       notes_by_num => {
                                                                         1 => "Seems to support `navigator.onLine` but not `online`/`offline` events.",
                                                                         2 => "IE8 only supports the `online`/`offline` events on `document.body`, rather than `window`.",
                                                                         3 => "Desktop Firefox responds to the status of its \"Work Offline\" mode. If not in that mode, `navigator.onLine` is always `true`, regardless of the actual network connectivity status. [See bug](https://bugzilla.mozilla.org/show_bug.cgi?id=654579) for details.",
                                                                         4 => "Safari 7.0 supports only the event listener on `window`, and not on `document.body`",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/browsers.html#browser-state",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a #1", 10 => "y" },
                                                                         chrome  => { 4 => "n", 14 => "y" },
                                                                         edge    => { "5.5" => "n", "8" => "a #2", "9" => "y" },
                                                                         firefox => { "2" => "n", "3.5" => "y", "4" => "a #3", "41" => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "u", "4.2-4.3" => "y", "7.0-7.1" => "y #4", "8" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { "9" => "n", "12.1" => "a", "15" => "y" },
                                                                         safari  => { "3.1" => "n", "5" => "y", "7" => "y #4", "7.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Online/offline status",
                                                       ucprefix     => 0,
                                                     },
                "opus"                            => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 4891189287321600,
                                                       description  => "Royalty-free open audio codec by IETF, which incorporated SILK from Skype and CELT from Xiph.org, to serve higher sound quality and lower latency at the same bitrate.",
                                                       links        => [
                                                                         {
                                                                           title => "Introduction of Opus by Mozilla",
                                                                           url => "https://hacks.mozilla.org/2012/07/firefox-beta-15-supports-the-new-opus-audio-format/",
                                                                         },
                                                                         {
                                                                           title => "Google's statement about the use of VP8 and Opus codec for WebRTC standard",
                                                                           url => "https://www.ietf.org/mail-archive/web/rtcweb/current/msg04953.html",
                                                                         },
                                                                       ],
                                                       notes        => "Support refers to this format's use in the `audio` element, not other conditions.\r\n\r\nFor Opera the Linux version may be able to play it when the GStreamer module is up to date and the served mime-type is 'audio/ogg'.",
                                                       notes_by_num => {
                                                                         1 => "Supported only when packaged in a CAF file and on macOS High Sierra/iOS 11 or later (constant bit-rate only).",
                                                                         2 => "Supported in a WebM container (all bitrates). Has a [known regression](https://bugs.webkit.org/show_bug.cgi?id=245428).",
                                                                         3 => "Supported in a WebM container (all bitrates).",
                                                                         4 => "Partial support refers to requiring macOS 15.4 Sequoia or later.",
                                                                       },
                                                       parent       => "audio",
                                                       spec         => "https://tools.ietf.org/html/rfc6716",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 33 => "y" },
                                                                         edge    => { "5.5" => "n", "14" => "y" },
                                                                         firefox => { 2 => "n", 15 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => {
                                                                                      "11.0-11.2" => "a #1",
                                                                                      "17.4"      => "a #2",
                                                                                      "17.5"      => "a #3",
                                                                                      "18.4"      => "y",
                                                                                      "3.2"       => "n",
                                                                                    },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 20 => "y" },
                                                                         safari  => {
                                                                                      "3.1"  => "n",
                                                                                      "11"   => "a #1",
                                                                                      "17.4" => "a #2",
                                                                                      "17.5" => "a #3",
                                                                                      "18.4" => "a #4",
                                                                                    },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Opus audio format",
                                                       ucprefix     => 0,
                                                     },
                "orientation-sensor"              => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5698781827825664,
                                                       description  => "Defines a base orientation sensor interface and concrete sensor subclasses to monitor the device\x{2019}s physical orientation in relation to a stationary three dimensional Cartesian coordinate system.",
                                                       links        => [
                                                                         {
                                                                           title => "Demo",
                                                                           url => "https://intel.github.io/generic-sensor-demos/orientation-phone/",
                                                                         },
                                                                         {
                                                                           title => "Article",
                                                                           url => "https://developers.google.com/web/updates/2017/09/sensors-for-the-web#orientation-sensors",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Available by enabling the \"Generic Sensor\" experimental flag in `about:flags`",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/orientation-sensor/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 58 => "n d #1", 67 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 54 => "y" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Orientation Sensor",
                                                       ucprefix     => 0,
                                                     },
                "outline"                         => {
                                                       categories   => ["CSS3"],
                                                       description  => "The CSS outline properties draw a border around an element that does not affect layout, making it ideal for highlighting. This covers the `outline` shorthand, as well as `outline-width`, `outline-style`, `outline-color` and `outline-offset`. ",
                                                       keywords     => "-moz-outline,outline-width,outline-style,outline-color,outline-radius",
                                                       links        => [
                                                                         {
                                                                           title => "CSS Basic User Interface Module Level 3",
                                                                           url => "https://drafts.csswg.org/css-ui-3/#outline",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - CSS outline",
                                                                           url => "https://developer.mozilla.org/en-US/docs/CSS/outline",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Also supports the value of `invert` for `outline-color`. (support of this value is optional for browsers)",
                                                                         2 => "Does not support `outline-offset`.",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-ui/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "8" => "a #2", "9" => "a #1 #2", "15" => "y" },
                                                                         firefox => { 2 => "y" },
                                                                         ie_mob  => { 10 => "a #1 #2" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "a #2", 12 => "y" },
                                                                         opera   => { "9" => "a #2", "11.6" => "y", "12.1" => "y #1", "15" => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS outline properties",
                                                       ucprefix     => 0,
                                                     },
                "pad-start-end"                   => {
                                                       categories   => ["JS"],
                                                       chrome_id    => 5694172086403072,
                                                       description  => "The `padStart()` and `padEnd()` methods pad the current string with a given string (eventually repeated) so that the resulting string reaches a given length. The pad is applied from the start (left) of the current string for `padStart()`, and applied from the end (right) of the current string for `padEnd()`.",
                                                       keywords     => "pad,pad start,pad end",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - padStart()",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - padEnd()",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for this feature is available in the core-js library",
                                                                           url => "https://github.com/zloirock/core-js#ecmascript-string-and-regexp",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://tc39.es/ecma262/#sec-string.prototype.padend",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 57 => "y" },
                                                                         edge    => { "5.5" => "n", "15" => "y" },
                                                                         firefox => { 2 => "n", 48 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.0-10.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 44 => "y" },
                                                                         safari  => { "3.1" => "n", "10" => "y" },
                                                                         samsung => { "4" => "n", "7.2-7.4" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "String.prototype.padStart(), String.prototype.padEnd()",
                                                       ucprefix     => 0,
                                                     },
                "page-transition-events"          => {
                                                       categories   => ["HTML5", "JS API"],
                                                       description  => "Fired at the Window when the page's entry in the session history stops being the current entry. Includes the `pageshow` and `pagehide` events.",
                                                       keywords     => "history,page,transition,hide,show,bfcache,event,persisted,cache,back,forward",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - pageshow",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/Events/pageshow",
                                                                         },
                                                                         {
                                                                           title => "HTML onpageshow Event Attribute",
                                                                           url => "https://www.w3schools.com/tags/ev_onpageshow.asp",
                                                                         },
                                                                         {
                                                                           title => "Back/forward cache: web-exposed behaviour",
                                                                           url => "https://docs.google.com/document/d/1JtDCN9A_1UBlDuwkjn1HWxdhQ1H2un9K4kyPLgBqJUc",
                                                                         },
                                                                         {
                                                                           title => "Back-forward cache on Android",
                                                                           url => "https://docs.google.com/document/d/1E7LY4HxkJxIjNt9PJIq5vKtNh6hB0PCTzENGkoYAbgA",
                                                                         },
                                                                         {
                                                                           title => "web.dev - Back/forward cache",
                                                                           url => "https://web.dev/bfcache/",
                                                                         },
                                                                       ],
                                                       notes        => "Whether or not a document was/will be cached by a back-forward cache is indicated by [`event.persisted` property](https://developer.mozilla.org/en-US/docs/Web/API/PageTransitionEvent/persisted) where developers can [opt to reload the page](https://web.dev/bfcache/) if needed.",
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/indices.html#event-pageshow",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "11" => "y" },
                                                                         firefox => { 2 => "y" },
                                                                         ie_mob  => { 10 => "n", 11 => "y" },
                                                                         ios_saf => { "3.2" => "u", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "5" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "PageTransitionEvent",
                                                       ucprefix     => 0,
                                                     },
                "pagevisibility"                  => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5689697795833856,
                                                       description  => "JavaScript API for determining whether a document is visible on the display",
                                                       keywords     => "visibilitystate,visibilitychange,onvisibilitychange",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Page Visibility",
                                                                           url => "https://developer.mozilla.org/en-US/docs/DOM/Using_the_Page_Visibility_API",
                                                                         },
                                                                         {
                                                                           title => "SitePoint article",
                                                                           url => "https://www.sitepoint.com/introduction-to-page-visibility-api/",
                                                                         },
                                                                         {
                                                                           title => "Demo",
                                                                           url => "https://audero.it/demo/page-visibility-api-demo.html",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/page-visibility/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y x", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 14 => "y x", 33 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "n", 10 => "y x", 18 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "n", "12.1" => "y" },
                                                                         opera   => { "9" => "n", "12.1" => "y", "15" => "y x", "20" => "y" },
                                                                         safari  => { "3.1" => "n", "6.1" => "y" },
                                                                         samsung => { "4" => "y x", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "Page Visibility",
                                                       ucprefix     => 0,
                                                     },
                "passive-event-listener"          => {
                                                       categories   => ["DOM"],
                                                       chrome_id    => 5745543795965952,
                                                       description  => "Event listeners created with the `passive: true` option cannot cancel (`preventDefault()`) the events they receive. Primarily intended to be used with touch events and `wheel` events. Since they cannot prevent scrolls, passive event listeners allow the browser to perform optimizations that result in smoother scrolling.",
                                                       keywords     => "passive,event,listener,options",
                                                       links        => [
                                                                         {
                                                                           title => "Improving scroll performance with passive event listeners - Google Developers Updates",
                                                                           url => "https://developers.google.com/web/updates/2016/06/passive-event-listeners?hl=en",
                                                                         },
                                                                         {
                                                                           title => "Polyfill from the WICG",
                                                                           url => "https://github.com/WICG/EventListenerOptions/blob/gh-pages/EventListenerOptions.polyfill.js",
                                                                         },
                                                                         {
                                                                           title => "Original WICG EventListenerOptions repository",
                                                                           url => "https://github.com/WICG/EventListenerOptions",
                                                                         },
                                                                         {
                                                                           title => "JS Bin testcase",
                                                                           url => "https://jsbin.com/jaqaku/edit?html,js,output",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://dom.spec.whatwg.org/#dom-addeventlisteneroptions-passive",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 51 => "y" },
                                                                         edge    => { "5.5" => "n", "16" => "y" },
                                                                         firefox => { 2 => "n", 49 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.0-10.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 38 => "y" },
                                                                         safari  => { "3.1" => "n", "10" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Passive event listeners",
                                                       ucprefix     => 0,
                                                     },
                "passkeys"                        => {
                                                       categories   => ["JS API", "Security"],
                                                       description  => "Passkeys, also known as Multi-device FIDO Credentials, provide users with an alternative to passwords that is much easier to use and far more secure.",
                                                       keywords     => "Web Authentication, WebAuth, FIDO, FIDO2, CTAP, CTAP2",
                                                       links        => [
                                                                         {
                                                                           title => "Passkeys at apple.com",
                                                                           url => "https://developer.apple.com/passkeys/",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1792433",
                                                                         },
                                                                         {
                                                                           title => "Google article on Passkeys for developers",
                                                                           url => "https://developers.google.com/identity/passkeys",
                                                                         },
                                                                         {
                                                                           title => "FIDO alliance article on Passkeys",
                                                                           url => "https://fidoalliance.org/passkeys/",
                                                                         },
                                                                       ],
                                                       notes        => "Support for various passkey features also depends on the device and OS used. See the [passkeys.dev site](https://passkeys.dev/device-support/) for details.\r\n\r\nBrowsers without Passkey support may still allow authentication at passkey logins via other types of security keys as long as they support [WebAuthn](/webauthn).",
                                                       notes_by_num => {},
                                                       spec         => "https://fidoalliance.org/multi-device-fido-credentials/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 108 => "y" },
                                                                         edge    => { "5.5" => "n", "108" => "y" },
                                                                         firefox => { 2 => "n", 122 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "16.0" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 97 => "y" },
                                                                         safari  => { "3.1" => "n", "16.1" => "y" },
                                                                         samsung => { 4 => "n", 20 => "u", 21 => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Passkeys",
                                                       ucprefix     => 0,
                                                     },
                "path2d"                          => {
                                                       categories   => ["Canvas", "HTML5"],
                                                       description  => "Allows path objects to be declared on 2D canvas surfaces",
                                                       keywords     => "addpath",
                                                       links        => [
                                                                         {
                                                                           title => "MDN article",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Path2D",
                                                                         },
                                                                       ],
                                                       notes_by_num => { 1 => "Does not support the `addPath()` method" },
                                                       parent       => "canvas",
                                                       spec         => "https://html.spec.whatwg.org/multipage/canvas.html#path2d-objects",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 36 => "a #1", 68 => "y" },
                                                                         edge    => { "5.5" => "n", "14" => "a #1", "79" => "y" },
                                                                         firefox => { 2 => "n", 31 => "a #1", 48 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "8" => "u", "8.1-8.4" => "a #1", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 23 => "a #1", 55 => "y" },
                                                                         safari  => { "3.1" => "n", "7.1" => "a #1", "9.1" => "y" },
                                                                         samsung => { "4" => "a #1", "10.1" => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Path2D",
                                                       ucprefix     => 0,
                                                     },
                "payment-request"                 => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5639348045217792,
                                                       description  => "Payment Request is a new API for the open web that makes checkout flows easier, faster and consistent on shopping sites.",
                                                       keywords     => "PaymentRequest,Web Payments",
                                                       links        => [
                                                                         {
                                                                           title => "Spec discussion",
                                                                           url => "https://github.com/w3c/browser-payment-api/",
                                                                         },
                                                                         {
                                                                           title => "Bringing easy and fast checkout with Payment Request API",
                                                                           url => "https://developers.google.com/web/updates/2016/07/payment-request",
                                                                         },
                                                                         {
                                                                           title => "Payment Request API Integration Guide",
                                                                           url => "https://developers.google.com/web/fundamentals/discovery-and-monetization/payment-request/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Payment Request API",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Payment_Request_API",
                                                                         },
                                                                         { title => "Demo", url => "https://paymentrequest.show/demo" },
                                                                         {
                                                                           title => "Simpler Demos and Codes",
                                                                           url => "https://googlechrome.github.io/samples/paymentrequest/",
                                                                         },
                                                                       ],
                                                       notes        => "Apple provides an equivalent proprietary API called [Apple Pay JS](https://developer.apple.com/reference/applepayjs/). Google provides a [PaymentRequest wrapper for Apple Pay JS](https://github.com/GoogleChrome/appr-wrapper).",
                                                       notes_by_num => {
                                                                         1 => "Can be enabled via the \"Experimental Web Platform features\" flag",
                                                                         2 => "Can be enabled via the \"Experimental Web Payments API\" flag",
                                                                         3 => "Apple's proprietary implementation (see above)",
                                                                         4 => "Can be enabled via the \"[Web Payments API](chrome://flags/#web-payments)\" flag",
                                                                         5 => "Unlike Desktop Chrome, support has been in Chrome for Android since version 53.",
                                                                         6 => "Can be enabled via the `dom.payments.request.enabled` flag in \"about:config\" flag since 55.",
                                                                         7 => "Missing support for PaymentResponse.prototype.retry() method",
                                                                         8 => "Disabled by default in Nightly. To enable, go to \"about:config\" and set \"dom.payments.request.enabled\" to true, and \"dom.payments.request.supportedRegions\" to \"US,CA\".",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/payment-request/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "a #7" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 53 => "n d #1", 59 => "n d #4", 61 => "a #7", 78 => "y" },
                                                                         edge    => { "5.5" => "n", "14" => "n d #2", "15" => "a #7", "79" => "y" },
                                                                         firefox => { 2 => "n", 55 => "n d #6", 66 => "a d #8" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => {
                                                                                      "10.0-10.2" => "n #3",
                                                                                      "11.3-11.4" => "a #7",
                                                                                      "12.2-12.5" => "y",
                                                                                      "3.2" => "n",
                                                                                    },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 40 => "n d #1", 48 => "a #7", 66 => "y" },
                                                                         safari  => { "3.1" => "n", "10" => "n #3", "11.1" => "a #7", "12.1" => "y" },
                                                                         samsung => { "12.0" => "y", "4" => "n", "5.0-5.4" => "a #7" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "Payment Request API",
                                                       ucprefix     => 0,
                                                     },
                "pdf-viewer"                      => {
                                                       categories   => ["Other"],
                                                       description  => "Support for a PDF viewer that is part of the browser, rather than requiring a PDF file to be opened in an external application.",
                                                       keywords     => "pdf reader",
                                                       links        => [
                                                                         {
                                                                           title => "PDFObject - JavaScript utility to embed PDF documents in HTML",
                                                                           url => "https://pdfobject.com",
                                                                         },
                                                                       ],
                                                       notes        => "When displaying PDFs inline rather than separately, iOS Safari will only display the first page of the document.",
                                                       notes_by_num => { 1 => "Not supported in IE11 before Windows 10" },
                                                       spec         => "https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "u" },
                                                                         chrome  => { 4 => "u", 15 => "y" },
                                                                         edge    => { "5.5" => "n", "11" => "a #1", "12" => "u", "15" => "y" },
                                                                         firefox => { 2 => "n", 19 => "y" },
                                                                         ie_mob  => { 10 => "u" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 12 => "y" },
                                                                         safari  => { "3.1" => "u", "4" => "y" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Built-in PDF viewer",
                                                       ucprefix     => 0,
                                                     },
                "permissions-api"                 => {
                                                       categories   => ["JS API", "Security"],
                                                       chrome_id    => 6376494003650560,
                                                       description  => "High-level JavaScript API for checking and requesting permissions",
                                                       keywords     => "web-permissions,navigator.permissions",
                                                       links        => [
                                                                         {
                                                                           title => "Permission API samples and examples",
                                                                           url => "https://developer.chrome.com/blog/permissions-api-for-the-web/",
                                                                         },
                                                                         {
                                                                           title => "Extended \"polyfill\" version of permission API",
                                                                           url => "https://github.com/jimmywarting/browser-su",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://w3c.github.io/permissions/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 43 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 46 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "16.0" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 30 => "y" },
                                                                         safari  => { "3.1" => "n", "16.0" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Permissions API",
                                                       ucprefix     => 0,
                                                     },
                "permissions-policy"              => {
                                                       categories   => ["JS API", "Other", "Security"],
                                                       chrome_id    => 5745992911552512,
                                                       description  => "A security mechanism that allows developers to explicitly enable or disable various powerful browser features for a given site. Similar to [Document Policy](/document-policy).",
                                                       keywords     => "feature,security,header,allow,attribute,allow attribute,attribute allow,feature policy,feature-policy,document.featurePolicy,document.policy,permissions-policy,document.permissionsPolicy",
                                                       links        => [
                                                                         {
                                                                           title => "W3C - Permissions Policy Explainer",
                                                                           url => "https://github.com/w3c/webappsec-feature-policy/blob/main/permissions-policy-explainer.md",
                                                                         },
                                                                         {
                                                                           title => "Firefox implementation tracker",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1531012",
                                                                         },
                                                                         {
                                                                           title => "List of known features",
                                                                           url => "https://github.com/w3c/webappsec-permissions-policy/blob/main/features.md",
                                                                         },
                                                                       ],
                                                       notes        => "Standard support includes the HTTP `Permissions-Policy` header, `allow` attribute on iframes and the `document.permissionsPolicy` JS API.",
                                                       notes_by_num => {
                                                                         1 => "Chromium browsers only support the HTTP header.",
                                                                         2 => "At least partially supports [Feature Policy](/feature-policy), the predecessor to this spec.",
                                                                       },
                                                       spec         => "https://w3c.github.io/webappsec-permissions-policy/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "n #2" },
                                                                         and_ff  => { 137 => "n #2" },
                                                                         and_qq  => { "14.9" => "n #2" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "a #1 #2" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 60 => "n #2", 86 => "n d #2", 88 => "a #1 #2" },
                                                                         edge    => { "5.5" => "n", "79" => "n #2", "86" => "n d #2", "88" => "a #1 #2" },
                                                                         firefox => { 2 => "n", 74 => "n #2" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.3-11.4" => "n #2", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "n #2" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "a #1 #2" },
                                                                         opera   => { 9 => "n", 47 => "n #2", 72 => "n d #2", 95 => "a #1 #2" },
                                                                         safari  => { "3.1" => "n", "11.1" => "n #2" },
                                                                         samsung => { "4" => "n", "8.2" => "n #2" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Permissions Policy",
                                                       ucprefix     => 0,
                                                     },
                "picture"                         => {
                                                       categories   => ["DOM", "HTML5"],
                                                       chrome_id    => 5910974510923776,
                                                       description  => "A responsive images method to control which image resource a user agent presents to a user, based on resolution, media query and/or support for a particular image format",
                                                       keywords     => "<picture>",
                                                       links        => [
                                                                         { title => "Demo", url => "https://responsiveimages.org/demos/" },
                                                                         {
                                                                           title => "Tutorial",
                                                                           url => "https://code.tutsplus.com/tutorials/better-responsive-images-with-the-picture-element--net-36583",
                                                                         },
                                                                         {
                                                                           title => "Read about the use cases",
                                                                           url => "https://usecases.responsiveimages.org/",
                                                                         },
                                                                         {
                                                                           title => "General information about Responsive Images",
                                                                           url => "https://responsiveimages.org/",
                                                                         },
                                                                         {
                                                                           title => "Blog post on usage",
                                                                           url => "https://dev.opera.com/articles/responsive-images/",
                                                                         },
                                                                         {
                                                                           title => "HTML5 Rocks tutorial",
                                                                           url => "https://www.html5rocks.com/tutorials/responsive/picture-element/",
                                                                         },
                                                                         {
                                                                           title => "Picturefill - polyfill for picture, srcset, sizes, and more",
                                                                           url => "https://github.com/scottjehl/picturefill",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Enabled in Chrome through the \"experimental Web Platform features\" flag in chrome://flags",
                                                                         2 => "Enabled in Opera through the \"experimental Web Platform features\" flag in opera://flags",
                                                                         3 => "Enabled in Firefox by setting the about:config preference dom.image.picture.enable to true",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/embedded-content.html#the-picture-element",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 37 => "n d #1", 38 => "y" },
                                                                         edge    => { "5.5" => "n", "13" => "y" },
                                                                         firefox => { 2 => "n", 34 => "n d #3", 38 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "9.3" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 24 => "n d #2", 25 => "y" },
                                                                         safari  => { "3.1" => "n", "9.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Picture element",
                                                       ucprefix     => 0,
                                                     },
                "picture-in-picture"              => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5729206566649856,
                                                       description  => "Allows websites to create a floating video window that is always on top of other windows so that users may continue consuming media while they interact with other sites or applications on their device.",
                                                       keywords     => "Picture-in-Picture,PictureInPicture,pip,pop-out,autoPictureInPicture,disablePictureInPicture,auto,disable,picture in picture,pseudo",
                                                       links        => [
                                                                         {
                                                                           title => "Sample video",
                                                                           url => "https://googlechrome.github.io/samples/picture-in-picture/",
                                                                         },
                                                                         {
                                                                           title => "Safari equivalent API",
                                                                           url => "https://developer.apple.com/documentation/webkitjs/adding_picture_in_picture_to_your_safari_media_controls",
                                                                         },
                                                                         {
                                                                           title => "Opera equivalent Video Pop Out feature",
                                                                           url => "https://blogs.opera.com/desktop/2016/04/opera-beta-update-video-pop/",
                                                                         },
                                                                         {
                                                                           title => "Implementation Status",
                                                                           url => "https://github.com/WICG/picture-in-picture/blob/master/implementation-status.md",
                                                                         },
                                                                         {
                                                                           title => "Firefox implementation bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1519885",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support in Firefox refers to the fact that Mozilla provides an equivalent proprietary feature, which allows users to use Picture-in-Picture mode for all playing videos.",
                                                                         2 => "Partial support in Firefox 71 refers to being enabled by default only for Windows users.",
                                                                         3 => "Partial support in Firefox 68\x{2013}70 refers to being enabled by default in Firefox pre-release channels for Windows users only.",
                                                                         4 => "Can be enabled in Firefox via the `media.videocontrols.picture-in-picture.enabled` pref in `about:config`.",
                                                                         5 => "Can be enabled in Chrome via the `#enable-picture-in-picture` & `#enable-surfaces-for-videos` flags in `chrome://flags`.",
                                                                         6 => "Partial support in Safari refers to the fact that Apple provides an equivalent proprietary API for Picture-in-Picture, which is only supported by macOS 10.12 Sierra & iOS 9 and newer.",
                                                                         7 => "Partial support in Opera refers to the fact that Opera provides an equivalent proprietary feature named Video Pop Out, which allows users to use Picture-in-Picture mode for all playing videos.",
                                                                         8 => "Automatically plays fullscreen videos in Picture-in-Picture mode after user hits Home Screen button. Only Android 8.0 Oreo and newer provide appropriate API for Picture-in-Picture.",
                                                                       },
                                                       spec         => "https://wicg.github.io/picture-in-picture/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "a #8" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 69 => "n d #5", 70 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 67 => "n d #4", 68 => "a #3 #1 #4", 71 => "a #2 #1 #4", 72 => "a #1" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "14.0-14.4" => "y", "3.2" => "n", "9.0-9.2" => "a #6" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 37 => "a #7", 73 => "y" },
                                                                         safari  => { "3.1" => "n", "10" => "a #6", "13.1" => "y" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Picture-in-Picture",
                                                       ucprefix     => 0,
                                                     },
                "ping"                            => {
                                                       categories   => ["HTML5"],
                                                       description  => "When used on an anchor, this attribute signifies that the browser should send a ping request the resource the attribute points to.",
                                                       keywords     => "ping,a.ping,a[ping],ping attribute",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Element ping attribute",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-ping",
                                                                         },
                                                                       ],
                                                       notes        => "While still in the WHATWG specification, this feature was removed from the W3C HTML5 specification in 2010.",
                                                       notes_by_num => {
                                                                         1 => "Disabled by default for [privacy reasons](http://kb.mozillazine.org/Browser.send_pings). Can be enabled via the `browser.send_pings` flag.",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/semantics.html#ping",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "n d #1" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "u", 15 => "y" },
                                                                         edge    => { "5.5" => "n", "17" => "y" },
                                                                         firefox => { 2 => "n", 3 => "n d #1" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "n d #1" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "6" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Ping attribute",
                                                       ucprefix     => 0,
                                                     },
                "png-alpha"                       => {
                                                       categories   => ["PNG"],
                                                       description  => "Semi-transparent areas in PNG files",
                                                       links        => [
                                                                         {
                                                                           title => "Wikipedia",
                                                                           url => "https://en.wikipedia.org/wiki/Portable_Network_Graphics",
                                                                         },
                                                                       ],
                                                       notes        => "IE6 does support full transparency in 8-bit PNGs, which can sometimes be an alternative to 24-bit PNGs.",
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/PNG/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "6" => "p", "7" => "y" },
                                                                         firefox => { 2 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { 9 => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "PNG alpha transparency",
                                                       ucprefix     => 0,
                                                     },
                "pointer"                         => {
                                                       categories   => ["CSS", "DOM", "JS API"],
                                                       chrome_id    => 4504699138998272,
                                                       description  => "This specification integrates various inputs from mice, touchscreens, and pens, making separate implementations no longer necessary and authoring for cross-device pointers easier. Not to be mistaken with the unrelated \"pointer-events\" CSS property.",
                                                       keywords     => "pointerdown,pointermove,pointerup,pointercancel,pointerover,pointerout,pointerenter,pointerleave",
                                                       links        => [
                                                                         {
                                                                           title => "Abstraction library for pointer events",
                                                                           url => "https://deeptissuejs.com/",
                                                                         },
                                                                         {
                                                                           title => "PEP: Pointer Events Polyfill",
                                                                           url => "https://github.com/jquery/PEP",
                                                                         },
                                                                         {
                                                                           title => "Pointer Event API on MDN",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Pointer_events",
                                                                         },
                                                                         {
                                                                           title => "Bugzilla\@Mozilla: Bug 822898 - Implement pointer events",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=822898",
                                                                         },
                                                                       ],
                                                       notes        => "Firefox, starting with version 28, provides the 'dom.w3c_pointer_events.enabled' flag to support this specification.",
                                                       notes_by_num => {
                                                                         1 => "Partial support in IE10 refers to the lack of pointerenter and pointerleave events.",
                                                                         2 => "Firefox support is disabled by default and [only supports mouse input](https://hacks.mozilla.org/2015/08/pointer-events-now-in-firefox-nightly/). On Windows only, touch can be enabled with the `layers.async-pan-zoom.enabled` and `dom.w3c_touch_events.enabled` flags",
                                                                         3 => "Can be enabled with the `#enable-pointer-events` flag.",
                                                                         4 => "Can be enabled under the `Experimental Features` menu.",
                                                                         5 => "element.releasePointerCapture(pointerID) is only partially implemented. Calling it after pointerdown does not result in boundary events (pointerover pointerleave) being dispatched during pointer movements.",
                                                                         6 => "Value of pointerevent.buttons is incorrect on pointermove events generated by touches. Is 0 but should be 1.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/pointerevents/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "p", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "p" },
                                                                         chrome  => { 4 => "n", 22 => "p", 52 => "p d #3", 55 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "a x #1", "11" => "y" },
                                                                         firefox => { 2 => "n", 6 => "p", 41 => "p d #2", 59 => "y" },
                                                                         ie_mob  => { 10 => "a x", 11 => "y" },
                                                                         ios_saf => { "13.0-13.1" => "a #5 #6", "13.2" => "y", "3.2" => "p" },
                                                                         kaios   => { "2.5" => "p d #2", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 11 => "p", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "p", 39 => "p d #3", 42 => "y" },
                                                                         safari  => { "3.1" => "n", "6.1" => "p", "12.1" => "p d #4", "13" => "y" },
                                                                         samsung => { "4" => "p", "5.0-5.4" => "n", "6.2-6.4" => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "Pointer events",
                                                       ucprefix     => 0,
                                                     },
                "pointer-events"                  => {
                                                       categories   => ["CSS3"],
                                                       description  => "This CSS property, when set to \"none\" allows elements to not receive hover/click events, instead the event will occur on anything behind it. ",
                                                       keywords     => "pointerevents,pointer-events:none",
                                                       links        => [
                                                                         {
                                                                           title => "Article & tutorial",
                                                                           url => "https://robertnyman.com/2010/03/22/css-pointer-events-to-allow-clicks-on-underlying-elements/",
                                                                         },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/css.js#css-pointerevents",
                                                                         },
                                                                         {
                                                                           title => "Polyfill",
                                                                           url => "https://github.com/kmewhort/pointer_events_polyfill",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - pointer-events",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events",
                                                                         },
                                                                       ],
                                                       notes        => "Already part of the SVG specification, and all SVG-supporting browsers appear to support the property on SVG elements.",
                                                       notes_by_num => {},
                                                       spec         => "https://wiki.csswg.org/spec/css4-ui#pointer-events",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "11" => "y" },
                                                                         firefox => { "2" => "n", "3.6" => "y" },
                                                                         ie_mob  => { 10 => "n", 11 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "4" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "CSS pointer-events (for HTML)",
                                                       ucprefix     => 0,
                                                     },
                "pointerlock"                     => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 6753200417800192,
                                                       description  => "API that provides access to raw mouse movement data. This is done by ignoring boundaries resulting from screen edges where the cursor can't go beyond, providing proper control for first person or real time strategy games. ",
                                                       keywords     => "mouselock,pointer lock,mouse lock,requestPointerLock,pointerLockElement,exitPointerLock,movementX,movementY",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Pointer Lock",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API",
                                                                         },
                                                                         {
                                                                           title => "Simple demo",
                                                                           url => "https://mdn.github.io/dom-examples/pointer-lock/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/pointerlock/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "u" },
                                                                         and_uc  => { "15.5" => "u" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 16 => "n d", 22 => "y x", 37 => "y" },
                                                                         edge    => { "5.5" => "n", "13" => "y" },
                                                                         firefox => { 2 => "n", 14 => "y x", 50 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "u" },
                                                                         opera   => { 9 => "n", 15 => "y x", 24 => "y" },
                                                                         safari  => { "3.1" => "n", "10.1" => "y" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "Pointer Lock API",
                                                       ucprefix     => 0,
                                                     },
                "portals"                         => {
                                                       categories   => ["HTML5", "JS API"],
                                                       chrome_id    => 4828882419056640,
                                                       description  => "Portals enable seamless navigation between sites or pages. A new page can be loaded as an inset using the `<portal>` element (similar to an iframe) which can then seamlessly transition to the new navigated state when \"activated\".",
                                                       keywords     => "portal api,portals api,portal element,htmlportalelement,portal.activate,onportalactivate",
                                                       links        => [
                                                                         {
                                                                           title => "Hands-on with Portals: seamless navigation on the Web",
                                                                           url => "https://web.dev/hands-on-portals/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Available when registered for [origin trial](https://web.dev/hands-on-portals/#register-for-ot)",
                                                                         2 => "Available by enabling the `#enable-portals` flag at `chrome://flags/`",
                                                                       },
                                                       spec         => "https://wicg.github.io/portals/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 75 => "n d #1", 85 => "n d #1 #2", 86 => "n d #2" },
                                                                         edge    => { "5.5" => "n", "85" => "n d #1 #2", "90" => "n d #2" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 62 => "n d #1", 73 => "n d #2" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Portals",
                                                       ucprefix     => 0,
                                                     },
                "prefers-color-scheme"            => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5109758977638400,
                                                       description  => "Media query to detect if the user has set their system to use a light or dark color theme.",
                                                       keywords     => "prefers-dark-interface",
                                                       links        => [
                                                                         {
                                                                           title => "MDN article",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/\@media/prefers-color-scheme",
                                                                         },
                                                                         {
                                                                           title => "Firefox implementation bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1494034",
                                                                         },
                                                                         {
                                                                           title => "Chromium implementation issue",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=889087",
                                                                         },
                                                                         {
                                                                           title => "Web.dev article",
                                                                           url => "https://web.dev/prefers-color-scheme/",
                                                                         },
                                                                       ],
                                                       notes        => "Support will also depend on whether or not the OS has support for a light/dark theme preference.",
                                                       notes_by_num => {},
                                                       spec         => "https://w3c.github.io/csswg-drafts/mediaqueries-5/#prefers-color-scheme",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 76 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 67 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "13.0-13.1" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 62 => "y" },
                                                                         safari  => { "3.1" => "n", "12.1" => "y" },
                                                                         samsung => { "4" => "n", "12.0" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "prefers-color-scheme media query",
                                                       ucprefix     => 0,
                                                     },
                "prefers-reduced-motion"          => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5597964353404928,
                                                       description  => "CSS media query based on a user preference for preferring reduced motion (animation, etc).",
                                                       keywords     => "no-preference",
                                                       links        => [
                                                                         {
                                                                           title => "WebKit blog post",
                                                                           url => "https://webkit.org/blog/7551/responsive-design-for-motion/",
                                                                         },
                                                                         {
                                                                           title => "CSS Tricks article",
                                                                           url => "https://css-tricks.com/introduction-reduced-motion-media-query/",
                                                                         },
                                                                       ],
                                                       notes        => "prefers-reduced-motion media query also depends on the OS as to whether it is supported.",
                                                       notes_by_num => {},
                                                       spec         => "https://w3c.github.io/csswg-drafts/mediaqueries-5/#prefers-reduced-motion",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 74 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 63 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "10.3" => "y" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 64 => "y" },
                                                                         safari  => { "3.1" => "n", "10.1" => "y" },
                                                                         samsung => { "11.1-11.2" => "y", "4" => "n" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "prefers-reduced-motion media query",
                                                       ucprefix     => 0,
                                                     },
                "progress"                        => {
                                                       categories   => ["HTML5"],
                                                       description  => "Method of indicating a progress state.",
                                                       keywords     => "#progressmeter,<progress>",
                                                       links        => [
                                                                         {
                                                                           title => "CSS-Tricks article",
                                                                           url => "https://css-tricks.com/html5-progress-element/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Element progress",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress",
                                                                         },
                                                                         {
                                                                           title => "Dev.Opera article",
                                                                           url => "https://dev.opera.com/articles/new-form-features-in-html5/#newoutput",
                                                                         },
                                                                         {
                                                                           title => "Examples of progress and meter elements",
                                                                           url => "https://peter.sh/examples/?/html/meter-progress.html",
                                                                         },
                                                                       ],
                                                       notes_by_num => { 1 => "does not support \"indeterminate\" <progress> elements." },
                                                       spec         => "https://html.spec.whatwg.org/multipage/forms.html#the-progress-element",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "n", 8 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "n", 6 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "7.0-7.1" => "a #1", "8" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "n", 11 => "y" },
                                                                         opera   => { 9 => "n", 11 => "y" },
                                                                         safari  => { "3.1" => "n", "6" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "progress element",
                                                       ucprefix     => 0,
                                                     },
                "promise-finally"                 => {
                                                       categories   => ["JS"],
                                                       chrome_id    => 5704570235781120,
                                                       description  => "When the promise is settled, whether fulfilled or rejected, the specified callback function is executed.",
                                                       keywords     => "promise.finally",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/finally",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for this feature is available in the core-js library",
                                                                           url => "https://github.com/zloirock/core-js#ecmascript-promise",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://tc39.es/ecma262/#sec-promise.prototype.finally",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 63 => "y" },
                                                                         edge    => { "5.5" => "n", "18" => "y" },
                                                                         firefox => { 2 => "n", 58 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.3-11.4" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 50 => "y" },
                                                                         safari  => { "3.1" => "n", "11.1" => "y" },
                                                                         samsung => { "4" => "n", "8.2" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Promise.prototype.finally",
                                                       ucprefix     => 0,
                                                     },
                "promises"                        => {
                                                       categories   => ["JS"],
                                                       chrome_id    => 5681726336532480,
                                                       description  => "A promise represents the eventual result of an asynchronous operation.",
                                                       keywords     => "promise,futures",
                                                       links        => [
                                                                         { title => "Promises/A+ spec", url => "https://promisesaplus.com/" },
                                                                         {
                                                                           title => "JavaScript Promises: There and back again - HTML5 Rocks",
                                                                           url => "https://www.html5rocks.com/en/tutorials/es6/promises/",
                                                                         },
                                                                         {
                                                                           title => "A polyfill for ES6-style Promises",
                                                                           url => "https://github.com/jakearchibald/ES6-Promises",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for this feature is available in the core-js library",
                                                                           url => "https://github.com/zloirock/core-js#ecmascript-promise",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://tc39.es/ecma262/#sec-promise-objects",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "p", "4.4.3-4.4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "p" },
                                                                         chrome  => { 4 => "p", 32 => "a", 33 => "y" },
                                                                         edge    => { "5.5" => "p", "12" => "y" },
                                                                         firefox => { 2 => "p", 27 => "a", 29 => "y" },
                                                                         ie_mob  => { 10 => "p" },
                                                                         ios_saf => { "3.2" => "p", "8" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "p" },
                                                                         op_mob  => { 10 => "p", 80 => "y" },
                                                                         opera   => { 9 => "p", 19 => "a", 20 => "y" },
                                                                         safari  => { "3.1" => "p", "7.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Promises",
                                                       ucprefix     => 0,
                                                     },
                "proximity"                       => {
                                                       categories => ["JS API"],
                                                       description => "Defines events that provide information about the distance between a device and an object, as measured by a proximity sensor.",
                                                       links => [
                                                         {
                                                           title => "Demo",
                                                           url => "https://audero.it/demo/proximity-api-demo.html",
                                                         },
                                                         {
                                                           title => "SitePoint article",
                                                           url => "https://www.sitepoint.com/introducing-proximity-api/",
                                                         },
                                                       ],
                                                       notes_by_num => {},
                                                       spec => "https://www.w3.org/TR/proximity/",
                                                       stats => {
                                                         and_chr => { "2.1" => "n" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "n" },
                                                         and_uc  => { "15.5" => "n" },
                                                         baidu   => { "13.52" => "n" },
                                                         bb      => { 7 => "n" },
                                                         chrome  => { 4 => "n" },
                                                         edge    => { "5.5" => "n" },
                                                         firefox => { 2 => "n", 15 => "y" },
                                                         ie_mob  => { 10 => "n" },
                                                         ios_saf => { "3.2" => "n" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "n" },
                                                         opera   => { 9 => "n" },
                                                         safari  => { "3.1" => "n" },
                                                         samsung => { 4 => "n" },
                                                       },
                                                       status => "cr",
                                                       title => "Proximity API",
                                                       ucprefix => 0,
                                                     },
                "proxy"                           => {
                                                       categories   => ["JS"],
                                                       chrome_id    => 4811188005240832,
                                                       description  => "The Proxy object allows custom behavior to be defined for fundamental operations. Useful for logging, profiling, object visualization, etc.",
                                                       keywords     => "proxies,es6,es2015,traps,meta,virtual,logging,host",
                                                       links        => [
                                                                         {
                                                                           title => "ECMAScript 6 Proxies",
                                                                           url => "https://github.com/lukehoban/es6features#proxies",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Proxy",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy",
                                                                         },
                                                                         {
                                                                           title => "Experimenting with ECMAScript 6 proxies",
                                                                           url => "https://humanwhocodes.com/blog/2011/09/15/experimenting-with-ecmascript-6-proxies/",
                                                                         },
                                                                         {
                                                                           title => "Meta programming with ECMAScript 6 proxies",
                                                                           url => "https://2ality.com/2014/12/es6-proxies.html",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for Proxies",
                                                                           url => "https://github.com/tvcutsem/harmony-reflect",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       parent       => "es6",
                                                       spec         => "https://tc39.es/ecma262/#sec-proxy-objects",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 19 => "n d", 38 => "n", 49 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "y" },
                                                                         firefox => { 2 => "n", 18 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.0-10.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "n d", 25 => "n", 36 => "y" },
                                                                         safari  => { "3.1" => "n", "10" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Proxy object",
                                                       ucprefix     => 0,
                                                     },
                "publickeypinning"                => {
                                                       categories   => ["Security"],
                                                       chrome_id    => 5903385005916160,
                                                       description  => "Declare that a website's HTTPS certificate should only be treated as valid if the public key is contained in a list specified over HTTP to prevent MITM attacks that use valid CA-issued certificates.",
                                                       keywords     => "pkp,hpkp,security,header",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Public Key Pinning",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/Security/Public_Key_Pinning",
                                                                         },
                                                                         {
                                                                           title => "Scott Helme article on the issues of HPKP",
                                                                           url => "https://scotthelme.co.uk/im-giving-up-on-hpkp/",
                                                                         },
                                                                       ],
                                                       notes        => "All browsers have removed support. The header was too complicated to use, and when incorrectly implemented, could completely block websites for longer periods of time.\r\n\r\n[Certificate transparency](https://developer.mozilla.org/en-US/docs/Web/Security/Certificate_Transparency) is widely used and tries to provide the same security by very different means.",
                                                       notes_by_num => {},
                                                       spec         => "https://tools.ietf.org/html/rfc7469",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 38 => "y", 72 => "n" },
                                                                         edge    => { "5.5" => "n" },
                                                                         firefox => { 2 => "n", 35 => "y", 72 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y", "3.0-3.1" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 20 => "u", 23 => "a", 24 => "u", 25 => "y", 66 => "n" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { "11.1-11.2" => "n", "4" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "HTTP Public Key Pinning",
                                                       ucprefix     => 0,
                                                     },
                "push-api"                        => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5416033485586432,
                                                       description  => "API to allow messages to be pushed from a server to a browser, even when the site isn't focused or even open in the browser.",
                                                       keywords     => "web push,push notifications",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Push API",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Push_API",
                                                                         },
                                                                         {
                                                                           title => "Google Developers article",
                                                                           url => "https://developers.google.com/web/updates/2015/03/push-notifications-on-the-open-web",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to not supporting `PushEvent.data` and `PushMessageData`",
                                                                         2 => "Requires full browser to be running to receive messages",
                                                                         3 => "Safari 7.0 - 16.0 supported a custom implementation which remains available in later versions, see [Safari Push Notifications](https://developer.apple.com/notifications/safari-push-notifications/) and [WWDC video](https://web.archive.org/web/20210419000205/https://developer.apple.com/videos/play/wwdc2013/614/)",
                                                                         4 => "Disabled on Firefox ESR, but can be re-enabled with the `dom.serviceWorkers.enabled` and `dom.push.enabled` flags",
                                                                         5 => "Only available on macOS 13 Ventura or later",
                                                                         6 => "Supported in Safari, not WKWebView nor SFSafariViewController",
                                                                         7 => "Requires website to first be added to the Home Screen.",
                                                                       },
                                                       spec         => "https://w3c.github.io/push-api/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 44 => "a #1 #2", 50 => "y #2" },
                                                                         edge    => { "5.5" => "n", "17" => "y", "79" => "y #2" },
                                                                         firefox => {
                                                                                      2  => "n",
                                                                                      44 => "y #2",
                                                                                      45 => "y #2 #4",
                                                                                      46 => "y #2",
                                                                                      52 => "y #2 #4",
                                                                                      53 => "y #2",
                                                                                      60 => "y #2 #4",
                                                                                      61 => "y #2",
                                                                                    },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "16.4" => "a #7" },
                                                                         kaios   => { "2.5" => "y #2" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 37 => "u", 42 => "y #2" },
                                                                         safari  => { "3.1" => "n", "7" => "n #3", "16.1" => "a #3 #5 #6", "18.0" => "y #3 #6" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Push API",
                                                       ucprefix     => 0,
                                                     },
                "queryselector"                   => {
                                                       categories   => ["DOM"],
                                                       description  => "Method of accessing DOM elements using CSS selectors",
                                                       keywords     => "query,selectors,selectors api,document.queryselector",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - querySelector",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Element/querySelector",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - querySelectorAll",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Element/querySelectorAll",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/selectors_api/querySelector",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support in IE8 is due to being limited to [CSS 2.1 selectors](/#feat=css-sel2) and a small subset of [CSS 3 selectors](/#feat=css-sel3) (see notes there). Additionally, it will have trouble with selectors including unrecognized tags (for example HTML5 ones).",
                                                                       },
                                                       spec         => "https://dom.spec.whatwg.org/#dom-parentnode-queryselector",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "6" => "p", "8" => "a #1", "9" => "y" },
                                                                         firefox => { "2" => "p", "3.5" => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { "10.0-10.1" => "y", "9" => "p" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "querySelector/querySelectorAll",
                                                       ucprefix     => 0,
                                                     },
                "readonly-attr"                   => {
                                                       categories   => ["DOM", "HTML5"],
                                                       description  => "Makes the form control non-editable. Unlike the `disabled` attribute, `readonly` form controls are still included in form submissions and the user can still select (but not edit) their value text.",
                                                       keywords     => "readonly,read,attribute,edit,editable",
                                                       links        => [
                                                                         {
                                                                           title => "WHATWG HTML specification for the readonly attribute of the `<textarea>` element",
                                                                           url => "https://html.spec.whatwg.org/multipage/forms.html#attr-textarea-readonly",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - readonly attribute",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input#attr-readonly",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Readonly inputs of type `datetime-local`, `date`, `month`, and `week` can still be edited by pressing the Up or Down arrow keys on the keyboard while the input is focused.",
                                                                         2 => "Text cannot be selected directly, but is possible by first selecting any text around the field. ",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/input.html#the-readonly-attribute",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "u", 26 => "y" },
                                                                         edge    => { "5.5" => "u", "6" => "y" },
                                                                         firefox => { 2 => "u", 4 => "y" },
                                                                         ie_mob  => { 10 => "y #2" },
                                                                         ios_saf => { "3.2" => "u", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "a #1", 80 => "y" },
                                                                         opera   => { "10.0-10.1" => "a #1", "15" => "y", "9" => "u" },
                                                                         safari  => { "3.1" => "u", "5.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "readonly attribute of input and textarea elements",
                                                       ucprefix     => 0,
                                                     },
                "referrer-policy"                 => {
                                                       categories   => ["Security"],
                                                       chrome_id    => "5639972996513792,6251880185331712",
                                                       description  => "A policy that controls how much information is shared through the HTTP `Referer` header. Helps to protect user privacy.",
                                                       keywords     => "meta,referrer,referer",
                                                       links        => [
                                                                         {
                                                                           title => "Mozilla security article",
                                                                           url => "https://blog.mozilla.org/security/2015/01/21/meta-referrer/",
                                                                         },
                                                                         {
                                                                           title => "A new security header: Referrer Policy",
                                                                           url => "https://scotthelme.co.uk/a-new-security-header-referrer-policy/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Browsers initially supported an [early draft](https://wiki.whatwg.org/wiki/Meta_referrer) of the specification which can only use a meta tag and is only compatible with the `origin` value from the new spec.",
                                                                         2 => "Chrome 21-60 did not support the `same-origin`, `strict-origin` and `strict-origin-when-cross-origin` values. ([issue 627968](https://bugs.chromium.org/p/chromium/issues/detail?id=627968))",
                                                                         3 => "Older browsers defaulted to `no-referrer-when-downgrade` which is unsafe. The default has been updated to `strict-origin-when-cross-origin` which is safe for most use cases. See [the revised spec.](https://github.com/w3c/webappsec-referrer-policy/pull/142)",
                                                                         4 => "[Safari's ITP](https://webkit.org/blog/9661/preventing-tracking-prevention-tracking/) (on by default) downgrades _all_ cross-site subresource request (not page navigation) `Referer` headers to the page's origin, ignoring the `unsafe-url`, `no-referrer-when-downgrade`, and `origin-when-cross-origin` referrer policies.",
                                                                         5 => "[Firefox 92+ ignores](https://bugzilla.mozilla.org/show_bug.cgi?id=1720294) the `unsafe-url`, `no-referrer-when-downgrade`, and `origin-when-cross-origin` referrer policies, defaulting to `strict-origin-when-cross-origin`.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/referrer-policy/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y #5" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 21 => "a #2", 61 => "y #3", 85 => "y" },
                                                                         edge    => { "5.5" => "n", "11" => "a #1", "79" => "y #3", "85" => "y" },
                                                                         firefox => { 2 => "n", 36 => "y #3", 87 => "y", 92 => "y #5" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => {
                                                                                      "12.0-12.1" => "y #3",
                                                                                      "13.3" => "y #3 #4",
                                                                                      "15.0-15.1" => "y #4",
                                                                                      "3.2" => "n",
                                                                                      "8" => "a #1",
                                                                                    },
                                                                         kaios   => { "2.5" => "y #3" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y #3", 73 => "y" },
                                                                         safari  => {
                                                                                      "3.1"  => "n",
                                                                                      "7.1"  => "a #1",
                                                                                      "11.1" => "y #3",
                                                                                      "13"   => "y #3 #4",
                                                                                      "15"   => "y #4",
                                                                                    },
                                                                         samsung => { "14.0" => "y", "4" => "n", "5.0-5.4" => "y #3" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Referrer Policy",
                                                       ucprefix     => 0,
                                                     },
                "registerprotocolhandler"         => {
                                                       categories => ["HTML5"],
                                                       description => "Method of allowing a webpage to handle a given protocol using `navigator.registerProtocolHandler`. This allows certain URLs to be opened by a given web application, for example `mailto:` addresses can be opened by a webmail client.",
                                                       links => [
                                                         {
                                                           title => "MDN Web Docs - Register protocol handler",
                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Navigator/registerProtocolHandler",
                                                         },
                                                       ],
                                                       notes_by_num => {
                                                         1 => "Supports protocols `mailto`, `mms`, `nntp`, `rtsp`, and `webcal` but requires custom protocols to start with `web+`",
                                                       },
                                                       spec => "https://html.spec.whatwg.org/multipage/webappapis.html#custom-handlers",
                                                       stats => {
                                                         and_chr => { "2.1" => "n" },
                                                         and_ff  => { 137 => "n" },
                                                         and_qq  => { "14.9" => "n" },
                                                         and_uc  => { "15.5" => "n" },
                                                         baidu   => { "13.52" => "n" },
                                                         bb      => { 7 => "n", 10 => "y #1" },
                                                         chrome  => { 4 => "n", 13 => "y #1" },
                                                         edge    => { "5.5" => "n", "79" => "y #1" },
                                                         firefox => { 2 => "n", 3 => "y" },
                                                         ie_mob  => { 10 => "n" },
                                                         ios_saf => { "3.2" => "n" },
                                                         kaios   => { "2.5" => "n" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "n" },
                                                         opera   => { "9" => "n", "11.6" => "y #1" },
                                                         safari  => { "3.1" => "n" },
                                                         samsung => { 4 => "n" },
                                                       },
                                                       status => "ls",
                                                       title => "Custom protocol handling",
                                                       ucprefix => 0,
                                                     },
                "rel-noopener"                    => {
                                                       categories   => ["DOM", "HTML5", "Security"],
                                                       chrome_id    => 5651874132787200,
                                                       description  => "Ensure new browsing contexts are opened without a useful `window.opener`",
                                                       keywords     => "rel,relation,link,security",
                                                       links        => [
                                                                         {
                                                                           title => "Explainer",
                                                                           url => "https://mathiasbynens.github.io/rel-noopener/",
                                                                         },
                                                                         {
                                                                           title => "Gecko/Firefox issue",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1222516",
                                                                         },
                                                                         {
                                                                           title => "WebKit/Safari issue",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=155166",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/semantics.html#link-type-noopener",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 49 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 52 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "10.3" => "y" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 36 => "y" },
                                                                         safari  => { "3.1" => "n", "10.1" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "rel=noopener",
                                                       ucprefix     => 0,
                                                     },
                "rel-noreferrer"                  => {
                                                       categories => ["DOM", "HTML5", "Security"],
                                                       description => "Links with `rel=\"noreferrer\"` set do not send the request's \"referrer\" header. This prevents the destination site from seeing what URL the user came from.",
                                                       links => [
                                                         {
                                                           title => "Blog post on rel=\"noreferrer\"",
                                                           url => "https://www.lifewire.com/rel-noreferrer-3468002",
                                                         },
                                                       ],
                                                       notes_by_num => {
                                                         1 => "Only supported in IE11 in later versions of Windows 10 (creators update).",
                                                       },
                                                       spec => "https://html.spec.whatwg.org/multipage/semantics.html#link-type-noreferrer",
                                                       stats => {
                                                         and_chr => { "2.1" => "u", "2.3" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "y" },
                                                         chrome  => { 4 => "u", 16 => "y" },
                                                         edge    => { "5.5" => "n", "11" => "a #1", "12" => "u", "13" => "y" },
                                                         firefox => { 2 => "n", 33 => "y" },
                                                         ie_mob  => { 10 => "n" },
                                                         ios_saf => { "3.2" => "n", "4.0-4.1" => "y" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                         opera   => { 9 => "n", 15 => "y" },
                                                         safari  => { "3.1" => "n", "5" => "y" },
                                                         samsung => { 4 => "y" },
                                                       },
                                                       status => "ls",
                                                       title => "Link type \"noreferrer\"",
                                                       ucprefix => 0,
                                                     },
                "rellist"                         => {
                                                       categories => ["DOM", "HTML5"],
                                                       description => "Method of easily manipulating rel attribute values on elements, using the DOMTokenList object (similar to classList).",
                                                       links => [
                                                         {
                                                           title => "MDN Web Docs - DOMTokenList",
                                                           url => "https://developer.mozilla.org/en-US/docs/DOM/DOMTokenList",
                                                         },
                                                         {
                                                           title => "domtokenlist polyfill",
                                                           url => "https://github.com/jwilsson/domtokenlist",
                                                         },
                                                       ],
                                                       notes_by_num => { 1 => "Support for relList on link but not anchor elements" },
                                                       spec => "https://html.spec.whatwg.org/multipage/semantics.html#dom-a-rellist",
                                                       stats => {
                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "n" },
                                                         chrome  => { 4 => "n", 50 => "a #1", 65 => "y" },
                                                         edge    => { "5.5" => "n", "17" => "a #1", "18" => "y" },
                                                         firefox => { 2 => "n", 30 => "y" },
                                                         ie_mob  => { 10 => "n" },
                                                         ios_saf => { "3.2" => "n", "9.0-9.2" => "y" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                         opera   => { 9 => "n", 37 => "a #1", 52 => "y" },
                                                         safari  => { "3.1" => "n", "9" => "y" },
                                                         samsung => { "4" => "n", "5.0-5.4" => "a #1", "9.2" => "y" },
                                                       },
                                                       status => "ls",
                                                       title => "relList (DOMTokenList)",
                                                       ucprefix => 0,
                                                     },
                "rem"                             => {
                                                       categories   => ["CSS3"],
                                                       description  => "Type of unit similar to `em`, but relative only to the root element, not any parent element. Thus compounding does not occur as it does with `em` units.",
                                                       keywords     => "rems",
                                                       links        => [
                                                                         {
                                                                           title => "Article on usage",
                                                                           url => "https://snook.ca/archives/html_and_css/font-size-with-rem",
                                                                         },
                                                                         {
                                                                           title => "REM Polyfill",
                                                                           url => "https://github.com/chuckcarpenter/REM-unit-polyfill",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "IE 9 & IE 10 do not support `rem` units when used in the `font` shorthand property (the entire declaration is ignored) or when used on pseudo elements.",
                                                                         2 => "iOS Safari 5.0-5.1 support `rem` but not in combination with media queries.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-values/#font-relative-lengths",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "a #1", "11" => "y" },
                                                                         firefox => { "2" => "n", "3.6" => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "4.0-4.1" => "y", "5.0-5.1" => "a #2", "6.0-6.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "n", 12 => "y" },
                                                                         opera   => { "9" => "n", "11.6" => "y" },
                                                                         safari  => { "3.1" => "n", "5" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "rem (root em) units",
                                                       ucprefix     => 0,
                                                     },
                "requestanimationframe"           => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5233400470306816,
                                                       description  => "API allowing a more efficient way of running script-based animation, compared to traditional methods using timeouts. Also covers support for `cancelAnimationFrame`",
                                                       links        => [
                                                                         {
                                                                           title => "Blog post",
                                                                           url => "https://www.paulirish.com/2011/requestanimationframe-for-smart-animating/",
                                                                         },
                                                                         {
                                                                           title => "Mozilla Hacks article",
                                                                           url => "https://hacks.mozilla.org/2011/08/animating-with-javascript-from-setinterval-to-requestanimationframe/",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/dom/Window/requestAnimationFrame",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - requestAnimationFrame",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to lacking `cancelAnimationFrame` support.",
                                                                         2 => "Supports `webkitCancelRequestAnimationFrame` rather than `webkitCancelAnimationFrame`.",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/webappapis.html#animation-frames",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 10 => "a x #1 #2", 18 => "a x #1", 22 => "y x", 24 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "n", 4 => "a x #1", 11 => "y x", 23 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "6.0-6.1" => "y x", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "6" => "y x", "6.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "requestAnimationFrame",
                                                       ucprefix     => 0,
                                                     },
                "requestidlecallback"             => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5572795866021888,
                                                       description  => "API allowing the execution of JavaScript to be queued to run in idle browser time, either at the end of a frame or when the user is inactive. Also covers support for `cancelIdleCallback`. The API has similarities with `requestAnimationFrame`.",
                                                       keywords     => "requestIdleCallback,request,idle",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - requestIdleCallback",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Window/requestIdleCallback",
                                                                         },
                                                                         {
                                                                           title => "Google Developers article",
                                                                           url => "https://developers.google.com/web/updates/2015/08/using-requestidlecallback",
                                                                         },
                                                                         {
                                                                           title => "Shim",
                                                                           url => "https://gist.github.com/paullewis/55efe5d6f05434a96c36",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled via the `dom.requestIdleCallback.enabled` flag",
                                                                         2 => "Can be enabled in Experimental (WebKit) Features",
                                                                       },
                                                       spec         => "https://w3c.github.io/requestidlecallback/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 47 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 53 => "n d #1", 55 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "13.4-13.7" => "n d #2", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 34 => "y" },
                                                                         safari  => { "13.1" => "n d #2", "3.1" => "n", "TP" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "requestIdleCallback",
                                                       ucprefix     => 0,
                                                     },
                "resizeobserver"                  => {
                                                       categories   => ["DOM", "JS API"],
                                                       chrome_id    => 5705346022637568,
                                                       description  => "Method for observing and reacting to changes to sizes of DOM elements.",
                                                       keywords     => "ResizeObserver,onresize,resize events",
                                                       links        => [
                                                                         {
                                                                           title => "Google Developers Article",
                                                                           url => "https://developers.google.com/web/updates/2016/10/resizeobserver",
                                                                         },
                                                                         {
                                                                           title => "Explainer Doc",
                                                                           url => "https://github.com/WICG/ResizeObserver/blob/master/explainer.md",
                                                                         },
                                                                         {
                                                                           title => "Polyfill based on initial specification",
                                                                           url => "https://github.com/que-etc/resize-observer-polyfill",
                                                                         },
                                                                         {
                                                                           title => "Firefox implementation bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1272409",
                                                                         },
                                                                         {
                                                                           title => "WebKit implementation bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=157743",
                                                                         },
                                                                         {
                                                                           title => "Polyfill based on latest specification which includes support for observer options",
                                                                           url => "https://github.com/juggle/resize-observer",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled via the \"Experimental Web Platform Features\" flag",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/resize-observer/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 54 => "n d #1", 64 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 69 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "13.4-13.7" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 41 => "n d #1", 52 => "y" },
                                                                         safari  => { "3.1" => "n", "13" => "n d", "13.1" => "y" },
                                                                         samsung => { "4" => "n", "9.2" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Resize Observer",
                                                       ucprefix     => 0,
                                                     },
                "resource-timing"                 => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5796350423728128,
                                                       description  => "Method to help web developers to collect complete timing information related to resources on a document.",
                                                       keywords     => "performance,testing,resource",
                                                       links        => [
                                                                         {
                                                                           title => "Demo",
                                                                           url => "https://www.audero.it/demo/resource-timing-api-demo.html",
                                                                         },
                                                                         {
                                                                           title => "Blog post",
                                                                           url => "https://developers.googleblog.com/2013/12/measuring-network-performance-with.html",
                                                                         },
                                                                         {
                                                                           title => "SitePoint article",
                                                                           url => "https://www.sitepoint.com/introduction-resource-timing-api/",
                                                                         },
                                                                       ],
                                                       notes        => "For newer Resource Timing APIs search for specific methods or see the sub-features under [PerformanceResourceTiming API](/mdn-api_performanceresourcetiming)",
                                                       notes_by_num => {
                                                                         1 => "Can be enabled in Firefox using the dom.enable_resource_timing flag",
                                                                         2 => "Partial support in Safari refers to being limited to OSX 10.12+",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/resource-timing/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 25 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "n", 31 => "n d #1", 35 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "11.0-11.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "11" => "a #2", "11.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Resource Timing (basic support)",
                                                       ucprefix     => 0,
                                                     },
                "rest-parameters"                 => {
                                                       categories   => ["JS"],
                                                       chrome_id    => 5937087912083456,
                                                       description  => "Allows representation of an indefinite number of arguments as an array.",
                                                       keywords     => "ES6,JavaScript",
                                                       links        => [
                                                                         {
                                                                           title => "Rest parameters and defaults",
                                                                           url => "https://hacks.mozilla.org/2015/05/es6-in-depth-rest-parameters-and-defaults/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Requires the \"Experimental JavaScript features\" flag to be enabled",
                                                                       },
                                                       parent       => "es6",
                                                       spec         => "https://tc39.es/ecma262/#sec-function-definitions",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 44 => "n d #1", 47 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "y" },
                                                                         firefox => { 2 => "n", 15 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.0-10.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 31 => "n d #1", 34 => "y" },
                                                                         safari  => { "3.1" => "n", "10" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Rest parameters",
                                                       ucprefix     => 0,
                                                     },
                "rtcpeerconnection"               => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 6612462929444864,
                                                       description  => "Method of allowing two users to communicate directly, browser to browser using the RTCPeerConnection API.",
                                                       keywords     => "webrtc,foo",
                                                       links        => [
                                                                         { title => "WebRTC Project site", url => "https://webrtc.org/" },
                                                                         {
                                                                           title => "Plug-in for support in IE & Safari",
                                                                           url => "https://temasys.atlassian.net/wiki/display/TWPP/WebRTC+Plugins",
                                                                         },
                                                                         {
                                                                           title => "Introducing WebRTC 1.0 and interoperable real-time communications in Microsoft Edge",
                                                                           url => "https://blogs.windows.com/msedgedev/2017/01/31/introducing-webrtc-microsoft-edge/",
                                                                         },
                                                                       ],
                                                       notes        => "The legacy Edge browser also offers a compatible implementation known as [ObjectRTC](http://blogs.msdn.com/b/ie/archive/2014/10/27/bringing-interoperable-real-time-communications-to-the-web.aspx). See [Object RTC](https://caniuse.com/#feat=objectrtc) for support details for that API.",
                                                       notes_by_num => {
                                                                         1 => "BlackBerry 10 recognizes RTCPeerConnection but real support is unconfirmed.",
                                                                         2 => "Edge does not support RTCDataChannel. See [API Catalogue](https://web.archive.org/web/20190327013248/https://developer.microsoft.com/en-us/microsoft-edge/platform/catalog/?q=specName%3Awebrtc)",
                                                                       },
                                                       spec         => "https://w3c.github.io/webrtc-pc/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "n #1" },
                                                                         chrome  => { 4 => "n", 23 => "y x", 56 => "y" },
                                                                         edge    => { "5.5" => "n", "15" => "a #2", "79" => "y" },
                                                                         firefox => { 2 => "n", 22 => "y x", 44 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.0-11.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 18 => "y x", 43 => "y" },
                                                                         safari  => { "3.1" => "n", "11" => "y" },
                                                                         samsung => { "4" => "y x", "6.2-6.4" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "WebRTC Peer-to-peer connections",
                                                       ucprefix     => 0,
                                                     },
                "ruby"                            => {
                                                       categories   => ["HTML5"],
                                                       description  => "Method of adding pronunciation or other annotations using ruby elements (primarily used in East Asian typography).",
                                                       keywords     => "ruby-base,ruby-text,ruby-position,ruby-merge,ruby-align",
                                                       links        => [
                                                                         {
                                                                           title => "HTML5 Doctor article",
                                                                           url => "https://html5doctor.com/ruby-rt-rp-element/",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/html/elements/ruby",
                                                                         },
                                                                         {
                                                                           title => "CSS specification",
                                                                           url => "https://www.w3.org/TR/css-ruby-1/",
                                                                         },
                                                                       ],
                                                       notes        => "Browsers without native support can still simulate support using CSS. Partial support refers to only supporting basic ruby, may still be missing writing-mode, Complex ruby and CSS3 Ruby.",
                                                       notes_by_num => {
                                                                         1 => "IE9+ supports [properties](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference) of an older version of the CSS Ruby specification.",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/semantics.html#the-ruby-element",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "p", "3" => "a" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "a" },
                                                                         and_uc  => { "15.5" => "a" },
                                                                         baidu   => { "13.52" => "a" },
                                                                         bb      => { 7 => "p", 10 => "a" },
                                                                         chrome  => { 4 => "p", 5 => "a" },
                                                                         edge    => { "5.5" => "a", "9" => "a #1", "12" => "a" },
                                                                         firefox => { 2 => "p", 38 => "y" },
                                                                         ie_mob  => { 10 => "a #1" },
                                                                         ios_saf => { "3.2" => "p", "5.0-5.1" => "a" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "p" },
                                                                         op_mob  => { 10 => "p", 80 => "a" },
                                                                         opera   => { 9 => "p", 15 => "a" },
                                                                         safari  => { "3.1" => "p", "5" => "a" },
                                                                         samsung => { 4 => "a" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Ruby annotation",
                                                       ucprefix     => 0,
                                                     },
                "run-in"                          => {
                                                       categories   => ["CSS", "CSS2"],
                                                       description  => "If the run-in box contains a block box, same as block. If a block box follows the run-in box, the run-in box becomes the first inline box of the block box. If an inline box follows, the run-in box becomes a block box.",
                                                       keywords     => "display,run-in",
                                                       links        => [
                                                                         {
                                                                           title => "Mozilla bug report",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=2056",
                                                                         },
                                                                         {
                                                                           title => "CSS Tricks article",
                                                                           url => "https://css-tricks.com/run-in/",
                                                                         },
                                                                       ],
                                                       notes_by_num => { 1 => "Not before inline-elements" },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-display-3/#valdef-display-run-in",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y", "4.4.3-4.4.4" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y", 32 => "n" },
                                                                         edge    => { "5.5" => "n", "8" => "y", "12" => "n" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y #1", "4.0-4.1" => "y", "8" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y", 80 => "n" },
                                                                         opera   => { 9 => "y", 19 => "n" },
                                                                         safari  => { "3.1" => "y #1", "5" => "y", "6.1" => "u", "7" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "display: run-in",
                                                       ucprefix     => 0,
                                                     },
                "same-site-cookie-attribute"      => {
                                                       categories   => ["Security"],
                                                       chrome_id    => "4672634709082112,5088147346030592,5633521622188032",
                                                       description  => "Same-site cookies (\"First-Party-Only\" or \"First-Party\") allow servers to mitigate the risk of CSRF and information leakage attacks by asserting that a particular cookie should only be sent with requests initiated from the same registrable domain.",
                                                       keywords     => "security,cookies,cookie,csrf",
                                                       links        => [
                                                                         {
                                                                           title => "Preventing CSRF with the same-site cookie attribute",
                                                                           url => "https://www.sjoerdlangkemper.nl/2016/04/14/preventing-csrf-with-samesite-cookie-attribute/",
                                                                         },
                                                                         {
                                                                           title => "Mozilla Bug #795346: Add SameSite support for cookies",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=795346",
                                                                         },
                                                                         {
                                                                           title => "Mozilla Bug #1286861, includes the patches that landed SameSite support in Firefox",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1286861",
                                                                         },
                                                                         {
                                                                           title => "Microsoft Edge Browser Status",
                                                                           url => "https://developer.microsoft.com/en-us/microsoft-edge/status/samesitecookies/",
                                                                         },
                                                                         {
                                                                           title => "MS Edge dev blog: \"Previewing support for same-site cookies in Microsoft Edge\"",
                                                                           url => "https://blogs.windows.com/msedgedev/2018/05/17/samesite-cookies-microsoft-edge-internet-explorer/",
                                                                         },
                                                                         {
                                                                           title => "Mozilla Bug #1551798: Prototype SameSite=Lax by default",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1551798",
                                                                         },
                                                                         {
                                                                           title => "Same-site cookies demonstration by Rowan Merewood",
                                                                           url => "https://peaceful-wing.glitch.me",
                                                                         },
                                                                       ],
                                                       notes        => "This feature is backwards compatible. Browsers not supporting this feature will simply use the cookie as a regular cookie. There is no need to deliver different cookies to clients.",
                                                       notes_by_num => {
                                                                         1 => "Not shipped with the initial release but later with the 2018 June security update (Patch Tuesday) to Windows 10 RS3 (2017 Fall Creators Update) and newer. [More info](https://github.com/MicrosoftEdge/Status/issues/616).",
                                                                         2 => "Partial support because only supported in IE 11 on Windows 10 RS3 (2017 Fall Creators Update) and newer, but not in IE 11 on other Windows versions (Windows 7, ...)",
                                                                         3 => "Cookies without `SameSite` are treated as `Lax` by default, `SameSite=None` cookies without `Secure` are rejected.",
                                                                         4 => "Partial due to the lack of support in macOS before 10.14 Mojave.",
                                                                         5 => "Partial due to [the bug](https://bugs.webkit.org/show_bug.cgi?id=198181) that treats `SameSite=None` and invalid values as `Strict` in macOS before 10.15 Catalina and in iOS before 13.",
                                                                       },
                                                       spec         => "https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-07",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "u" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "y #3" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 51 => "y", 80 => "y #3" },
                                                                         edge    => {
                                                                                      "5.5" => "n",
                                                                                      "11"  => "a #1 #2",
                                                                                      "12"  => "n",
                                                                                      "16"  => "y #1",
                                                                                      "18"  => "y",
                                                                                      "86"  => "y #3",
                                                                                    },
                                                                         firefox => { 2 => "n", 60 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "12.0-12.1" => "a #5", "13.0-13.1" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y #3" },
                                                                         opera   => { 9 => "n", 39 => "y", 71 => "y #3" },
                                                                         safari  => { "3.1" => "n", "12" => "a #4 #5", "14" => "a #5", "15" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "'SameSite' cookie attribute",
                                                       ucprefix     => 0,
                                                     },
                "screen-orientation"              => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 6191285283061760,
                                                       description  => "Provides the ability to read the screen orientation state, to be informed when this state changes, and to be able to lock the screen orientation to a specific state.",
                                                       keywords     => "lockorientation,unlockorientation",
                                                       links        => [
                                                                         {
                                                                           title => "Demo",
                                                                           url => "https://www.audero.it/demo/screen-orientation-api-demo.html",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Screen Orientation",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Screen.orientation",
                                                                         },
                                                                         {
                                                                           title => "SitePoint article",
                                                                           url => "https://www.sitepoint.com/introducing-screen-orientation-api/",
                                                                         },
                                                                       ],
                                                       notes        => "Partial support refers to an [older version](https://www.w3.org/TR/2014/WD-screen-orientation-20140220/) of the draft specification, and the spec has undergone significant changes since, for example renaming the `screen.lockOrientation` method to `screen.orientation.lock`.",
                                                       notes_by_num => { 1 => "Not supported on Windows 7." },
                                                       spec         => "https://www.w3.org/TR/screen-orientation/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 38 => "y" },
                                                                         edge    => { "5.5" => "n", "11" => "a x #1", "12" => "a x", "79" => "y" },
                                                                         firefox => { 2 => "n", 18 => "a x", 44 => "y" },
                                                                         ie_mob  => { 10 => "n", 11 => "a x" },
                                                                         ios_saf => { "3.2" => "n", "16.4" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 25 => "y" },
                                                                         safari  => { "3.1" => "n", "16.4" => "y" },
                                                                         samsung => { "4" => "u", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Screen Orientation",
                                                       ucprefix     => 0,
                                                     },
                "script-async"                    => {
                                                       categories => ["DOM", "HTML5"],
                                                       description => "The boolean async attribute on script elements allows the external JavaScript file to run when it's available, without delaying page load first.",
                                                       links => [
                                                         {
                                                           title => "MDN Web Docs - Script attributes",
                                                           url => "https://developer.mozilla.org/en/HTML/Element/script#Attributes",
                                                         },
                                                         {
                                                           title => "Demo",
                                                           url => "https://testdrive-archive.azurewebsites.net/Performance/AsyncScripts/Default.html",
                                                         },
                                                         {
                                                           title => "has.js test",
                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/script.js#script-async",
                                                         },
                                                         {
                                                           title => "async vs defer attributes",
                                                           url => "https://www.growingwiththeweb.com/2014/02/async-vs-defer-attributes.html",
                                                         },
                                                       ],
                                                       notes_by_num => {
                                                         1 => "Using script.async = false; to maintain execution order for dynamically-added scripts isn't supported in Safari 5.0",
                                                       },
                                                       spec => "https://html.spec.whatwg.org/multipage/scripting.html#attr-script-async",
                                                       stats => {
                                                         and_chr => { "2.1" => "n", "3" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "y" },
                                                         chrome  => { 4 => "n", 8 => "y" },
                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                         firefox => { "2" => "n", "3.6" => "y" },
                                                         ie_mob  => { 10 => "y" },
                                                         ios_saf => { "3.2" => "n", "5.0-5.1" => "y" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                         opera   => { 9 => "n", 15 => "y" },
                                                         safari  => { "3.1" => "n", "5" => "a #1", "5.1" => "y" },
                                                         samsung => { 4 => "y" },
                                                       },
                                                       status => "ls",
                                                       title => "async attribute for external scripts",
                                                       ucprefix => 0,
                                                     },
                "script-defer"                    => {
                                                       categories => ["DOM", "HTML5"],
                                                       description => "The boolean defer attribute on script elements allows the external JavaScript file to run when the DOM is loaded, without delaying page load first.",
                                                       links => [
                                                         {
                                                           title => "MDN Web Docs - Script Attributes",
                                                           url => "https://developer.mozilla.org/en/HTML/Element/script#Attributes",
                                                         },
                                                         {
                                                           title => "has.js test",
                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/script.js#script-defer",
                                                         },
                                                         {
                                                           title => "WebPlatform Docs",
                                                           url => "https://webplatform.github.io/docs/html/attributes/defer",
                                                         },
                                                         {
                                                           title => "async vs defer attributes",
                                                           url => "https://www.growingwiththeweb.com/2014/02/async-vs-defer-attributes.html",
                                                         },
                                                       ],
                                                       notes_by_num => {
                                                         1 => "Partial support in older IE refers to a buggy implementation (see issue).",
                                                         2 => "Deferred scripts may run after DOMContentLoaded - https://bugzilla.mozilla.org/show_bug.cgi?id=688580",
                                                       },
                                                       spec => "https://html.spec.whatwg.org/multipage/scripting.html#attr-script-defer",
                                                       stats => {
                                                         and_chr => { "2.1" => "n", "3" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "y" },
                                                         chrome  => { 4 => "n", 8 => "y" },
                                                         edge    => { "5.5" => "a #1", "10" => "y" },
                                                         firefox => { "2" => "n", "3.5" => "y #2", "31" => "y" },
                                                         ie_mob  => { 10 => "y" },
                                                         ios_saf => { "3.2" => "n", "5.0-5.1" => "y" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                         opera   => { 9 => "n", 15 => "y" },
                                                         safari  => { "3.1" => "n", "5" => "y" },
                                                         samsung => { 4 => "y" },
                                                       },
                                                       status => "ls",
                                                       title => "defer attribute for external scripts",
                                                       ucprefix => 0,
                                                     },
                "scrollintoview"                  => {
                                                       categories => ["DOM", "JS API"],
                                                       description => "The `Element.scrollIntoView()` method scrolls the current element into the visible area of the browser window. Parameters can be provided to set the position inside the visible area as well as whether scrolling should be instant or smooth.",
                                                       links => [
                                                         {
                                                           title => "MDN Web Docs - scrollIntoView",
                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView",
                                                         },
                                                         {
                                                           title => "smooth scroll polyfill : polyfill for smooth behavior option",
                                                           url => "http://iamdustan.com/smoothscroll/",
                                                         },
                                                       ],
                                                       notes_by_num => {
                                                         1 => "Supports scrollIntoView with boolean parameter, but not `smooth` behavior option",
                                                       },
                                                       spec => "https://w3c.github.io/csswg-drafts/cssom-view/#dom-element-scrollintoview",
                                                       stats => {
                                                         and_chr => { "2.1" => "u", "2.3" => "a #1", "135" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "a #1" },
                                                         chrome  => { 4 => "a #1", 61 => "y" },
                                                         edge    => { "5.5" => "n", "8" => "a #1", "79" => "y" },
                                                         firefox => { 2 => "a #1", 36 => "y" },
                                                         ie_mob  => { 10 => "a #1" },
                                                         ios_saf => { "16.0" => "y", "3.2" => "u", "5.0-5.1" => "a #1" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "a #1", 80 => "y" },
                                                         opera   => { "9" => "n", "11" => "u", "11.6" => "a #1", "48" => "y" },
                                                         safari  => { "3.1" => "n", "5.1" => "a #1", "16.0" => "y" },
                                                         samsung => { "4" => "a #1", "8.2" => "y" },
                                                       },
                                                       status => "wd",
                                                       title => "scrollIntoView",
                                                       ucprefix => 0,
                                                     },
                "scrollintoviewifneeded"          => {
                                                       categories   => ["DOM", "JS API"],
                                                       description  => "If the element is fully within the visible area of the viewport, it does nothing. Otherwise, the element is scrolled into view. A proprietary variant of the standard `Element.scrollIntoView()` method.",
                                                       keywords     => "scrollIntoViewIfNeeded,scroll",
                                                       links        => [
                                                                         {
                                                                           title => "Mozilla Bug 403510 - Implement scrollIntoViewIfNeeded",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=403510",
                                                                         },
                                                                         {
                                                                           title => "W3C CSSOM View bug #17152: Support centering an element when scrolling into view.",
                                                                           url => "https://www.w3.org/Bugs/Public/show_bug.cgi?id=17152",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoViewIfNeeded",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "u", 15 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "u", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "u", "5.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Element.scrollIntoViewIfNeeded()",
                                                       ucprefix     => 0,
                                                     },
                "sdch"                            => {
                                                       categories   => ["Other"],
                                                       description  => "Shared Dictionary Compression over HTTP",
                                                       keywords     => "http,compression,accept,content,encoding,sdch",
                                                       links        => [
                                                                         {
                                                                           title => "SDCH Google Group",
                                                                           url => "https://groups.google.com/forum/#!forum/sdch",
                                                                         },
                                                                         {
                                                                           title => "Bugzilla Bug 641069 - Implement SDCH",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=641069",
                                                                         },
                                                                         {
                                                                           title => "Wikipedia - SDCH",
                                                                           url => "https://en.wikipedia.org/wiki/SDCH",
                                                                         },
                                                                         {
                                                                           title => "Shared Dictionary Compression for HTTP at LinkedIn.",
                                                                           url => "https://engineering.linkedin.com/shared-dictionary-compression-http-linkedin",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://docs.google.com/viewer?a=v&pid=forums&srcid=MDIwOTgxNDMwMTgyMjkzMTI2ODcBMDQ2MzU5NDU2MDA0MTg5NDE1MTkBTDZmaENoSG9BZ0FKATAuMQEBdjI",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "y", 59 => "n" },
                                                                         edge    => { "5.5" => "n" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 15 => "y", 73 => "n" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "SDCH Accept-Encoding/Content-Encoding",
                                                       ucprefix     => 0,
                                                     },
                "selection-api"                   => {
                                                       categories   => ["JS API"],
                                                       description  => "API for accessing selected content of a document, including the `window.getSelection()` method, as well as the `selectstart` & `selectionchange` events on `document`.",
                                                       links        => [
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1231923",
                                                                         },
                                                                       ],
                                                       notes        => "See also support for the related [DOM range](https://caniuse.com/dom-range) ",
                                                       notes_by_num => {
                                                                         1 => "Supports `window.getSelection()` but no selection events",
                                                                         2 => "Supports selection events, but not `window.getSelection()`",
                                                                         3 => "Does not support the `selectstart` event",
                                                                         4 => "`window.getSelection()` may fail on tapping buttons, as the selection is lost right before the listener code runs.",
                                                                         5 => "Selection events are supported behind the `dom.select_events.enabled` flag",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/selection-api/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "4.2-4.3" => "y #4", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "u", 10 => "y" },
                                                                         chrome  => { 4 => "u", 15 => "y" },
                                                                         edge    => { "5.5" => "u", "6" => "a #2", "9" => "y" },
                                                                         firefox => { 2 => "a #1", 43 => "a #1 #5", 52 => "y" },
                                                                         ie_mob  => { 10 => "u", 11 => "y" },
                                                                         ios_saf => { "3.2" => "a #1", "4.2-4.3" => "u", "5.0-5.1" => "a #3" },
                                                                         kaios   => { "2.5" => "a #1 #5", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "u", "12.1" => "a #1", "80" => "y" },
                                                                         opera   => { 9 => "a #1", 15 => "y" },
                                                                         safari  => { "3.1" => "u", "5.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Selection API",
                                                       ucprefix     => 0,
                                                     },
                "selectlist"                      => {
                                                       categories   => ["HTML5"],
                                                       chrome_id    => 5737365999976448,
                                                       description  => "Proposal for a customizable `<select>` element. Previously envisioned as a separate element (`<selectlist>` or `<selectmenu>`). ",
                                                       keywords     => "selectlist,selectmenu,appearance:base-select,::picker(select),selectedoption",
                                                       links        => [
                                                                         {
                                                                           title => "Blog post: Two levels of customising <selectlist>",
                                                                           url => "https://hidde.blog/custom-select-with-selectlist/",
                                                                         },
                                                                         {
                                                                           title => "Open UI's <selectlist> demos",
                                                                           url => "https://microsoftedge.github.io/Demos/selectlist/index.html",
                                                                         },
                                                                         {
                                                                           title => "Chrome's request for feedback on latest proposal",
                                                                           url => "https://developer.chrome.com/blog/rfc-customizable-select",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Available behind the \"Experimental Web Platform features\" flag. Implemented as `selectmenu` before Chromium 119.",
                                                                       },
                                                       spec         => "https://open-ui.org/components/customizableselect/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 97 => "n d #1" },
                                                                         edge    => { "5.5" => "n", "97" => "n d #1" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "n d #1" },
                                                                         opera   => { 9 => "n", 83 => "n d #1" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Customizable Select element",
                                                       ucprefix     => 0,
                                                     },
                "server-timing"                   => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5695708376072192,
                                                       description  => "Mechanism for web developers to annotate network requests with server timing information.",
                                                       keywords     => "performance,performance.timing,resource,performancenavigation,PerformanceServerTiming",
                                                       links        => [
                                                                         { title => "Demo", url => "https://server-timing.netlify.com/" },
                                                                         {
                                                                           title => "Blog post",
                                                                           url => "https://developer.akamai.com/blog/2017/06/07/completing-performance-analysis-server-timing/",
                                                                         },
                                                                         {
                                                                           title => "MDN article on PerformanceServerTiming",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/PerformanceServerTiming",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Chrome v60-63: An older version of the API is behind the [Experimental Web Platform features](chrome://flags/#enable-experimental-web-platform-features) flag.",
                                                                         2 => "Chrome v64: The current API is behind the [Experimental Web Platform features](chrome://flags/#enable-experimental-web-platform-features) flag.",
                                                                         3 => "Safari v12.1+: Supports the Server Timing reporting in the Web Inspector Network tab, but not the JavaScript API",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/server-timing/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 60 => "a d #1", 64 => "a d #2", 65 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 61 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "16.4" => "y" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 52 => "y" },
                                                                         safari  => { "3.1" => "n", "12.1" => "a #3", "16.4" => "y" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Server Timing",
                                                       ucprefix     => 0,
                                                     },
                "serviceworkers"                  => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 6561526227927040,
                                                       description  => "Method that enables applications to take advantage of persistent background processing, including hooks to enable bootstrapping of web applications while offline.",
                                                       links        => [
                                                                         {
                                                                           title => "HTML5Rocks article (introduction)",
                                                                           url => "https://www.html5rocks.com/en/tutorials/service-worker/introduction/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Service Workers",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker_API",
                                                                         },
                                                                         {
                                                                           title => "List of various resources",
                                                                           url => "https://jakearchibald.github.io/isserviceworkerready/resources.html",
                                                                         },
                                                                       ],
                                                       notes        => "Details on partial support can be found on [is ServiceWorker Ready?](https://jakearchibald.github.io/isserviceworkerready/)",
                                                       notes_by_num => {
                                                                         1 => "Partial support can be enabled in Firefox with the `dom.serviceWorkers.enabled` flag.",
                                                                         2 => "Available behind the \"Enable service workers\" flag",
                                                                         3 => "Disabled on Firefox ESR, but can be re-enabled with the `dom.serviceWorkers.enabled` flag",
                                                                       },
                                                       spec         => "https://w3c.github.io/ServiceWorker/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "a" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 40 => "a", 45 => "y" },
                                                                         edge    => { "5.5" => "n", "15" => "n d #2", "17" => "y" },
                                                                         firefox => {
                                                                                      2  => "n",
                                                                                      33 => "n d #1",
                                                                                      44 => "y",
                                                                                      45 => "y #3",
                                                                                      46 => "y",
                                                                                      52 => "y #3",
                                                                                      53 => "y",
                                                                                      60 => "y #3",
                                                                                      61 => "y",
                                                                                      68 => "y #3",
                                                                                      69 => "y",
                                                                                    },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.3-11.4" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 27 => "a", 32 => "y" },
                                                                         safari  => { "3.1" => "n", "11.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Service Workers",
                                                       ucprefix     => 0,
                                                     },
                "setimmediate"                    => {
                                                       categories   => ["JS API"],
                                                       description  => "Yields control flow without the minimum delays enforced by setTimeout",
                                                       keywords     => "setImmediate,clearImmediate,setTimeout,performance",
                                                       links        => [
                                                                         {
                                                                           title => "The case for setImmediate()",
                                                                           url => "https://humanwhocodes.com/blog/2013/07/09/the-case-for-setimmediate/",
                                                                         },
                                                                         {
                                                                           title => "Script yielding with setImmediate",
                                                                           url => "https://humanwhocodes.com/blog/2011/09/19/script-yielding-with-setimmediate/",
                                                                         },
                                                                         {
                                                                           title => "setImmediate polyfill",
                                                                           url => "https://github.com/YuzuJS/setImmediate",
                                                                         },
                                                                         {
                                                                           title => "Firefox tracking bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=686201",
                                                                         },
                                                                         {
                                                                           title => "Chrome bug closed as WONTFIX",
                                                                           url => "https://code.google.com/p/chromium/issues/detail?id=146172",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for this feature is available in the core-js library",
                                                                           url => "https://github.com/zloirock/core-js#setimmediate",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://w3c.github.io/setImmediate/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n" },
                                                                         edge    => { "5.5" => "n", "10" => "y", "79" => "n" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Efficient Script Yielding: setImmediate()",
                                                       ucprefix     => 0,
                                                     },
                "shadowdom"                       => {
                                                       categories   => ["DOM"],
                                                       chrome_id    => 4507242028072960,
                                                       description  => "Original V0 version of the Shadow DOM specification. See [Shadow DOM V1](#feat=shadowdomv1) for support for the latest version. ",
                                                       links        => [
                                                                         {
                                                                           title => "HTML5Rocks - Shadow DOM 101 article",
                                                                           url => "https://www.html5rocks.com/tutorials/webcomponents/shadowdom/",
                                                                         },
                                                                         {
                                                                           title => "Safari implementation bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=148695",
                                                                         },
                                                                         {
                                                                           title => "Firefox implementation bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1205323",
                                                                         },
                                                                         {
                                                                           title => "Google Developers - Shadow DOM v1: self-contained web components",
                                                                           url => "https://developers.google.com/web/fundamentals/getting-started/primers/shadowdom",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/shadow-dom/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y x", "135" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 25 => "y x", 35 => "y", 80 => "n" },
                                                                         edge    => { "5.5" => "n", "79" => "y", "80" => "n" },
                                                                         firefox => { 2 => "n", 29 => "n d", 61 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y", "3.0-3.1" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 15 => "y x", 22 => "y", 67 => "n" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { "13.0" => "n", "4" => "y x", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Shadow DOM (deprecated V0 spec)",
                                                       ucprefix     => 0,
                                                     },
                "shadowdomv1"                     => {
                                                       categories   => ["DOM"],
                                                       chrome_id    => 4667415417847808,
                                                       description  => "Method of establishing and maintaining functional boundaries between DOM trees and how these trees interact with each other within a document, thus enabling better functional encapsulation within the DOM & CSS.",
                                                       keywords     => "webcomponents,shadow dom,attachShadow",
                                                       links        => [
                                                                         {
                                                                           title => "Safari implementation bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=148695",
                                                                         },
                                                                         {
                                                                           title => "Firefox implementation bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1205323",
                                                                         },
                                                                         {
                                                                           title => "Google Developers - Shadow DOM v1: self-contained web components",
                                                                           url => "https://developers.google.com/web/fundamentals/primers/shadowdom/?hl=en",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Certain CSS selectors do not work (`:host > .local-child`) and styling slotted content (`::slotted`) is buggy.",
                                                                         2 => "Enabled through the `dom.webcomponents.enabled` preference in `about:config`.",
                                                                         3 => "Enabled through the `dom.webcomponents.shadowdom.enabled` preference in `about:config`.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/shadow-dom/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 53 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 58 => "n d #2", 59 => "n d #3", 63 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.0-10.2" => "a #1", "11.0-11.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 40 => "y" },
                                                                         safari  => { "3.1" => "n", "10" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "a", "6.2-6.4" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Shadow DOM (V1)",
                                                       ucprefix     => 0,
                                                     },
                "sharedarraybuffer"               => {
                                                       categories   => ["JS"],
                                                       chrome_id    => "4570991992766464,5171863141482496",
                                                       description  => "Type of ArrayBuffer that can be shared across Workers.",
                                                       links        => [
                                                                         {
                                                                           title => "MDN article",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer",
                                                                         },
                                                                         {
                                                                           title => "Mozilla Hacks article on safely reviving shared memory",
                                                                           url => "https://hacks.mozilla.org/2020/07/safely-reviving-shared-memory/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Has support, but was disabled across browsers in January 2018 due to Spectre & Meltdown vulnerabilities.",
                                                                         2 => "Enabled by default in Nightly, but not in Beta/Developer/Release.",
                                                                         3 => "Requires cross-origin isolation by having [Cross-Origin-Embedder-Policy (COEP)](/mdn-http_headers_cross-origin-embedder-policy) and [Cross-Origin-Opener-Policy (COOP)](/mdn-http_headers_cross-origin-opener-policy) headers set. [Mozilla Hacks article](https://hacks.mozilla.org/2020/07/safely-reviving-shared-memory/) for context.",
                                                                       },
                                                       spec         => "https://tc39.es/ecma262/#sec-sharedarraybuffer-objects",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "y #3" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y #3" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 60 => "n d #1", 68 => "y", 91 => "y #3" },
                                                                         edge    => { "5.5" => "n", "16" => "n d #1", "79" => "y", "91" => "y #3" },
                                                                         firefox => { 2 => "n", 57 => "n d #1", 74 => "n d #1 #2", 79 => "y #3" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.3" => "n d #1", "15.2-15.3" => "y #3", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y #3" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y #3" },
                                                                         opera   => { 9 => "n", 47 => "n d #1", 64 => "y", 78 => "y #3" },
                                                                         safari  => { "10.1" => "n d #1", "15.2-15.3" => "y #3", "3.1" => "n" },
                                                                         samsung => { "4" => "n", "15.0" => "y #3" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Shared Array Buffer",
                                                       ucprefix     => 0,
                                                     },
                "sharedworkers"                   => {
                                                       categories   => ["JS API"],
                                                       description  => "Method of allowing multiple scripts to communicate with a single web worker.",
                                                       keywords     => "shared worker",
                                                       links        => [
                                                                         {
                                                                           title => "Sitepoint article",
                                                                           url => "https://www.sitepoint.com/javascript-shared-web-workers-html5/",
                                                                         },
                                                                         {
                                                                           title => "Blog post",
                                                                           url => "https://greenido.wordpress.com/2011/11/03/web-workers-part-3-out-of-3-shared-wrokers/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       parent       => "webworkers",
                                                       spec         => "https://html.spec.whatwg.org/multipage/workers.html#shared-workers-introduction",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 29 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "16.0" => "y", "3.2" => "n", "5.0-5.1" => "y", "7.0-7.1" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "u", 11 => "y", 80 => "n" },
                                                                         opera   => { "9" => "n", "10.6" => "y" },
                                                                         safari  => { "3.1" => "n", "5" => "y", "6.1" => "n", "16.0" => "y" },
                                                                         samsung => { "4" => "y", "5.0-5.4" => "n" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Shared Web Workers",
                                                       ucprefix     => 0,
                                                     },
                "sni"                             => {
                                                       categories   => ["Security"],
                                                       description  => "An extension to the TLS computer networking protocol by which a client indicates which hostname it is attempting to connect to at the start of the handshaking process.",
                                                       keywords     => "sni",
                                                       links        => [
                                                                         {
                                                                           title => "Wikipedia",
                                                                           url => "https://en.wikipedia.org/wiki/Server_Name_Indication",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Only supported on Windows Vista or above (not Windows XP)",
                                                                       },
                                                       spec         => "https://tools.ietf.org/html/rfc6066",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 6 => "y" },
                                                                         edge    => { "5.5" => "n", "7" => "a #1", "9" => "y" },
                                                                         firefox => { 2 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "4.0-4.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { 9 => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Server Name Indication",
                                                       ucprefix     => 0,
                                                     },
                "spdy"                            => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 5152586365665280,
                                                       description  => "Networking protocol for low-latency transport of content over the web. Superseded by HTTP version 2.",
                                                       links        => [
                                                                         { title => "Wikipedia", url => "https://en.wikipedia.org/wiki/HTTP/2" },
                                                                         {
                                                                           title => "SPDY whitepaper",
                                                                           url => "https://dev.chromium.org/spdy/spdy-whitepaper",
                                                                         },
                                                                       ],
                                                       notes        => "See also support for [HTTP2](https://caniuse.com/#feat=http2), successor of SPDY.",
                                                       notes_by_num => {
                                                                         1 => "Deprecated as of macOS Mojave 10.4.4. To be completely removed in a future version of macOS.",
                                                                         2 => "Deprecated as of iOS 12.2. To be completely removed in a future version of iOS.",
                                                                       },
                                                       spec         => "https://www.chromium.org/spdy/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "3" => "y", "135" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "y", 51 => "n" },
                                                                         edge    => { "5.5" => "n", "11" => "y", "12" => "n" },
                                                                         firefox => { 2 => "n", 13 => "y", 51 => "n" },
                                                                         ie_mob  => { 10 => "n", 11 => "y" },
                                                                         ios_saf => { "12.2-12.5" => "y #2", "3.2" => "n", "8" => "y" },
                                                                         kaios   => { "2.5" => "y", "3.0-3.1" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "n", "12.1" => "y", "80" => "n" },
                                                                         opera   => {
                                                                                      "9"    => "n",
                                                                                      "12.1" => "y",
                                                                                      "40"   => "n",
                                                                                      "42"   => "y",
                                                                                      "43"   => "n",
                                                                                      "44"   => "y",
                                                                                      "45"   => "n",
                                                                                    },
                                                                         safari  => { "3.1" => "n", "8" => "y", "12.1" => "y #1" },
                                                                         samsung => { "4" => "y", "5.0-5.4" => "n" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "SPDY protocol",
                                                       ucprefix     => 0,
                                                     },
                "speech-recognition"              => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5908775487668224,
                                                       description  => "Method to provide speech input in a web browser.",
                                                       keywords     => "#web-speech,speechrecognition,ASR",
                                                       links        => [
                                                                         {
                                                                           title => "HTML5Rocks article",
                                                                           url => "https://developer.chrome.com/blog/voice-driven-web-apps-introduction-to-the-web-speech-api/",
                                                                         },
                                                                         {
                                                                           title => "SitePoint article",
                                                                           url => "https://www.sitepoint.com/introducing-web-speech-api/",
                                                                         },
                                                                         {
                                                                           title => "Demo",
                                                                           url => "https://www.audero.it/demo/web-speech-api-demo.html",
                                                                         },
                                                                         {
                                                                           title => "Advanced demo and resource",
                                                                           url => "https://zenorocha.github.io/voice-elements/#recognition-element",
                                                                         },
                                                                         {
                                                                           title => "Chromium bug to unprefix the Speech Recognition API",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=570968",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to some attributes missing.",
                                                                         2 => "Firefox currently has a `media.webspeech.recognition.enable` flag in about:config for this, but actual support is waiting for permissions to be sorted out.",
                                                                         3 => "Edge and Opera appear to have support for the `SpeechRecognition` API but no events for it appear to fire.",
                                                                         4 => "Safari 14.1 and TP 119+ include prefixed support for `webkitSpeechRecognition` without support for `SpeechGrammar` or `SpeechGrammarList`. Siri needs to be enabled. [Not available in SafariViewController and web apps added to Home Screen](https://bugs.webkit.org/show_bug.cgi?id=225298#c3).",
                                                                       },
                                                       spec         => "https://w3c.github.io/speech-api/speechapi.html#speechreco-section",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "a x #1" },
                                                                         and_uc  => { "15.5" => "a x #1" },
                                                                         baidu   => { "13.52" => "a x #1" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 25 => "a x #1" },
                                                                         edge    => { "5.5" => "n", "79" => "n #3" },
                                                                         firefox => { 2 => "n", 22 => "n d #2" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "14.5-14.8" => "a x #4", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n d #2" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "a x #1" },
                                                                         opera   => { 9 => "n", 27 => "n #3" },
                                                                         safari  => { "3.1" => "n", "14.1" => "a x #4" },
                                                                         samsung => { 4 => "a x #1" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Speech Recognition API",
                                                       ucprefix     => 0,
                                                     },
                "speech-synthesis"                => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 4782875580825600,
                                                       description  => "A web API for controlling a text-to-speech output.",
                                                       keywords     => "speech,synthesis,speechSynthesis,TTS,SpeechSynthesisUtterance,",
                                                       links        => [
                                                                         {
                                                                           title => "SitePoint article",
                                                                           url => "https://www.sitepoint.com/talking-web-pages-and-the-speech-synthesis-api/",
                                                                         },
                                                                         {
                                                                           title => "Demo",
                                                                           url => "https://www.audero.it/demo/speech-synthesis-api-demo.html",
                                                                         },
                                                                         {
                                                                           title => "Advanced demo and resource",
                                                                           url => "https://zenorocha.github.io/voice-elements/",
                                                                         },
                                                                         {
                                                                           title => "MDN article",
                                                                           url => "https://developer.mozilla.org//docs/Web/API/SpeechSynthesis",
                                                                         },
                                                                         {
                                                                           title => "Google Developers article",
                                                                           url => "https://developers.google.com/web/updates/2014/01/Web-apps-that-talk-Introduction-to-the-Speech-Synthesis-API",
                                                                         },
                                                                       ],
                                                       notes        => "Samsung Internet for GearVR: In Development, release based on Chromium m53 due Q1/2017",
                                                       notes_by_num => {
                                                                         1 => "Can be enabled in Firefox using the `media.webspeech.synth.enabled` about:config flag.",
                                                                         2 => "Speech Synthesis in Chrome since version 55 stops playback after about 15 seconds on Windows 7 & 10, and Ubuntu 14.04, possibly other platforms",
                                                                       },
                                                       parent       => "web-speech",
                                                       spec         => "https://w3c.github.io/speech-api/speechapi.html#tts-section",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 33 => "y", 55 => "y #2" },
                                                                         edge    => { "5.5" => "n", "14" => "y", "79" => "y #2" },
                                                                         firefox => { 2 => "n", 31 => "n d #1", 49 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 27 => "y", 64 => "y #2" },
                                                                         safari  => { "3.1" => "n", "7" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Speech Synthesis API",
                                                       ucprefix     => 0,
                                                     },
                "spellcheck-attribute"            => {
                                                       categories   => ["HTML5"],
                                                       description  => "Attribute for `input`/`textarea` fields to enable/disable the browser's spellchecker.",
                                                       keywords     => "spelling",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Controlling spell checking",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/HTML/Controlling_spell_checking_in_HTML_formsControlling_spell_checking_in_HTML_forms",
                                                                         },
                                                                       ],
                                                       notes        => "The partial support in mobile browsers results from their OS generally having built-in spell checking instead of using the wavy underline to indicate misspelled words. `spellcheck=\"false\"` does not seem to have any effect in these browsers.\r\n\r\nBrowsers have different behavior in how they deal with spellchecking in combination with the `lang` attribute. Generally spelling is based on the browser's language, not the language of the document.",
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/interaction.html#spelling-and-grammar-checking",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a" },
                                                                         and_ff  => { 137 => "a" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "a" },
                                                                         baidu   => { "13.52" => "a" },
                                                                         bb      => { 7 => "a", 10 => "y" },
                                                                         chrome  => { 4 => "n", 9 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "y" },
                                                                         ie_mob  => { 10 => "a" },
                                                                         ios_saf => { "3.2" => "a" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "a" },
                                                                         op_mob  => { 10 => "a" },
                                                                         opera   => { "9" => "n", "10.5" => "y" },
                                                                         safari  => { "3.1" => "n", "5.1" => "y" },
                                                                         samsung => { 4 => "a" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Spellcheck attribute",
                                                       ucprefix     => 0,
                                                     },
                "sql-storage"                     => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 6330987952734208,
                                                       description  => "Method of storing data client-side, allows SQLite database queries for access and manipulation.",
                                                       keywords     => "db-storage,websql",
                                                       links        => [
                                                                         {
                                                                           title => "HTML5 Doctor article",
                                                                           url => "https://html5doctor.com/introducing-web-sql-databases/",
                                                                         },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-sql-db",
                                                                         },
                                                                         {
                                                                           title => "Chrome platform status: Deprecate and remove WebSQL in non-secure contexts",
                                                                           url => "https://chromestatus.com/feature/5175124599767040",
                                                                         },
                                                                       ],
                                                       notes        => "The Web SQL Database specification is no longer being maintained and support is intended to be dropped in future versions. Migrate to e.g. [Web Storage](/namevalue-storage) or [IndexedDB](/?search=IndexedDB).",
                                                       notes_by_num => {
                                                                         1 => "Not available in third-party contexts",
                                                                         2 => "Requires a [secure context](https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts)",
                                                                         3 => "Requires a deprecation Origin Trial token",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/webdatabase/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y", "135" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y", 101 => "y #1", 110 => "y #1 #2", 119 => "y #1 #2 #3", 124 => "n" },
                                                                         edge    => { "5.5" => "n", "79" => "y", "101" => "y #1", "110" => "y #1 #2", "124" => "n" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "13.0-13.1" => "n", "3.2" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 11 => "y", 80 => "y #2" },
                                                                         opera   => { "9" => "n", "10.5" => "y", "91" => "y #2", "110" => "n" },
                                                                         safari  => { "3.1" => "y", "13" => "n" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Web SQL Database",
                                                       ucprefix     => 0,
                                                     },
                "srcset"                          => {
                                                       categories   => ["HTML5"],
                                                       chrome_id    => 4644337115725824,
                                                       description  => "The `srcset` and `sizes` attributes on `img` (or `source`) elements allow authors to define various image resources and \"hints\" that assist a user agent to determine the most appropriate image source to display (e.g. high-resolution displays, small monitors, etc).",
                                                       keywords     => "srcset attribute",
                                                       links        => [
                                                                         {
                                                                           title => "Improved support for high-resolution displays with the srcset image attribute",
                                                                           url => "https://www.webkit.org/blog/2910/improved-support-for-high-resolution-displays-with-the-srcset-image-attribute/",
                                                                         },
                                                                         {
                                                                           title => "Blog post on srcset & sizes",
                                                                           url => "https://ericportis.com/posts/2014/srcset-sizes/",
                                                                         },
                                                                         {
                                                                           title => "MDN: Responsive images",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images",
                                                                         },
                                                                         {
                                                                           title => "MDN: <img> element",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled in Firefox by setting the about:config preference dom.image.srcset.enabled to true",
                                                                         2 => "Supports the subset of the syntax for resolution switching (using the `x` descriptor), but not the full syntax that can be used with `sizes` (using the `w` descriptor).",
                                                                         3 => "Intermittently displays distorted images due to bug present (see known issues)",
                                                                         4 => "Does not support min/max expressions.",
                                                                         5 => "For JavaScript-generated img elements, loads src first, even if srcset will also make it load another image (see known issues)",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-srcset",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 34 => "a #2", 38 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "a #2", "13" => "n #3", "16" => "y" },
                                                                         firefox => { 2 => "n", 32 => "n d #1", 38 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "8" => "a #2", "9.0-9.2" => "a #4" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 21 => "a #2", 25 => "y" },
                                                                         safari  => { "3.1" => "n", "7.1" => "a #2", "9" => "a #4", "11" => "a #4 #5" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Srcset and sizes attributes",
                                                       ucprefix     => 0,
                                                     },
                "stream"                          => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => "6067380039974912,6605041225957376",
                                                       description  => "Method of accessing external device data (such as a webcam video stream). Formerly this was envisioned as the <device> element.",
                                                       keywords     => "camera,device,getUserMedia,media stream,mediastream,Media Capture API",
                                                       links        => [
                                                                         {
                                                                           title => "Technology preview from Opera",
                                                                           url => "https://dev.opera.com/blog/webcam-orientation-preview/",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/dom/Navigator/getUserMedia",
                                                                         },
                                                                         {
                                                                           title => "Media Capture functionality in Microsoft Edge",
                                                                           url => "https://blogs.windows.com/msedgedev/2015/05/13/announcing-media-capture-functionality-in-microsoft-edge/",
                                                                         },
                                                                         {
                                                                           title => "getUserMedia in PWA with manifest on iOS 11",
                                                                           url => "https://stackoverflow.com/questions/50800696/getusermedia-in-pwa-with-manifest-on-ios-11",
                                                                         },
                                                                         {
                                                                           title => "getUserMedia working again in PWA on iOS 13.4",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=185448#c84",
                                                                         },
                                                                       ],
                                                       notes        => "As of Chrome 47, the getUserMedia API cannot be called from insecure origins.",
                                                       notes_by_num => {
                                                                         1 => "Blink-based (and some other) browsers support an older version of the spec that does not use `srcObject`. [See Chromium issue 387740](https://code.google.com/p/chromium/issues/detail?id=387740).",
                                                                         2 => "Supports the older spec's `navigator.getUserMedia` API, not the newer `navigator.mediaDevices.getUserMedia` one.",
                                                                         3 => "Before iOS 14.3 `getUserMedia` returned no video input devices in `UIWebView` or `WKWebView`, but only directly in Safari.",
                                                                         4 => "Does not work in standalone running (\"installed\") PWAs.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/mediacapture-streams/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "a x #1 #2" },
                                                                         chrome  => { 4 => "n", 21 => "a x #1 #2", 53 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "y" },
                                                                         firefox => { 2 => "n", 17 => "a x #1 #2", 36 => "y #1", 42 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.0-11.2" => "y #3 #4", "13.4-13.7" => "y #3", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 12 => "a x #1 #2", 80 => "y" },
                                                                         opera   => { 9 => "n", 12 => "a x #1 #2", 15 => "n", 18 => "a x #1 #2", 40 => "y" },
                                                                         safari  => { "3.1" => "n", "11" => "y" },
                                                                         samsung => { "4" => "a x #1 #2", "6.2-6.4" => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "getUserMedia/Stream API",
                                                       ucprefix     => 0,
                                                     },
                "streams"                         => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 6605041225957376,
                                                       description  => "Method of creating, composing, and consuming streams of data, that map efficiently to low-level I/O primitives, and allow easy composition with built-in backpressure and queuing.",
                                                       keywords     => "streams,writablestream,readablestream",
                                                       links        => [
                                                                         {
                                                                           title => "GitHub repository",
                                                                           url => "https://github.com/whatwg/streams",
                                                                         },
                                                                         {
                                                                           title => "ReadableStream on Mozilla Developer Network",
                                                                           url => "https://developer.mozilla.org/en/docs/Web/API/ReadableStream",
                                                                         },
                                                                         {
                                                                           title => "Blog article about streams",
                                                                           url => "https://jakearchibald.com/2016/streams-ftw/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "IE implements a different API than the one from WHATWG.",
                                                                         2 => "Only basic read support.",
                                                                         3 => "Disabled by default behind the `javascript.options.streams` and `dom.streams.enabled` flags. ",
                                                                         4 => "No support for BYOB (\"bring your own buffer\") stream readers.",
                                                                         5 => "No support for `WritableStream`.",
                                                                         6 => "No support for the `pipeTo` or `pipeThrough` methods",
                                                                       },
                                                       spec         => "https://streams.spec.whatwg.org/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "a #4" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 52 => "a #2", 59 => "a #4", 89 => "y" },
                                                                         edge    => {
                                                                                      "5.5" => "n",
                                                                                      "11"  => "n #1",
                                                                                      "12"  => "u",
                                                                                      "14"  => "a #2",
                                                                                      "16"  => "a #4 #6",
                                                                                      "79"  => "a #4",
                                                                                      "89"  => "y",
                                                                                    },
                                                                         firefox => {
                                                                                      2   => "n",
                                                                                      57  => "n d #3 #4 #5 #6",
                                                                                      65  => "a #4 #5 #6",
                                                                                      100 => "a #4 #6",
                                                                                      102 => "y",
                                                                                    },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.0-10.2" => "u", "10.3" => "a #4", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 39 => "a #2", 46 => "a #4", 76 => "y" },
                                                                         safari  => { "3.1" => "n", "10" => "a #4 #5", "14.1" => "a #4" },
                                                                         samsung => { "15.0" => "y", "4" => "n", "7.2-7.4" => "a #4" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Streams",
                                                       ucprefix     => 0,
                                                     },
                "stricttransportsecurity"         => {
                                                       categories   => ["Security"],
                                                       chrome_id    => 4941480133132288,
                                                       description  => "Declare that a website is only accessible over a secure connection (HTTPS).",
                                                       keywords     => "sts,hsts,security,header",
                                                       links        => [
                                                                         {
                                                                           title => "Chromium article",
                                                                           url => "https://www.chromium.org/hsts/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Strict Transport Security",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Security",
                                                                         },
                                                                         {
                                                                           title => "OWASP article",
                                                                           url => "https://www.owasp.org/index.php/HTTP_Strict_Transport_Security",
                                                                         },
                                                                       ],
                                                       notes        => "The HTTP header is 'Strict-Transport-Security'.",
                                                       notes_by_num => {
                                                                         1 => "IE 11 added support [in an update](https://blogs.windows.com/msedgedev/2015/06/09/http-strict-transport-security-comes-to-internet-explorer-11-on-windows-8-1-and-windows-7/) on June 9, 2015",
                                                                       },
                                                       spec         => "https://tools.ietf.org/html/rfc6797",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "11" => "y #1", "12" => "y" },
                                                                         firefox => { 2 => "n", 4 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 12 => "y" },
                                                                         safari  => { "3.1" => "n", "7" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Strict Transport Security",
                                                       ucprefix     => 0,
                                                     },
                "style-scoped"                    => {
                                                       categories   => ["CSS", "HTML5"],
                                                       chrome_id    => 5374137958662144,
                                                       description  => "Deprecated method of allowing scoped CSS styles using a \"scoped\" attribute. Now [removed from the specification](https://github.com/whatwg/html/issues/552) and replaced by the [\@scope CSS rule](/css-cascade-scope).",
                                                       links        => [
                                                                         {
                                                                           title => "Polyfill",
                                                                           url => "https://github.com/PM5544/scoped-polyfill",
                                                                         },
                                                                         {
                                                                           title => "HTML5 Doctor article",
                                                                           url => "https://html5doctor.com/the-scoped-attribute/",
                                                                         },
                                                                         {
                                                                           title => "HTML5Rocks article",
                                                                           url => "https://developer.chrome.com/blog/a-new-experimental-feature-style-scoped/",
                                                                         },
                                                                         {
                                                                           title => "Firefox bug #1291515: disable `<style scoped>` in content documents",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1291515",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Enabled in Chrome through the \"experimental Web Platform features\" flag in chrome://flags",
                                                                         2 => "Enabled in Firefox through the about:config setting \"layout.css.scoped-style.enabled\"",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/html51/document-metadata.html#element-attrdef-style-scoped",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 20 => "n d #1", 37 => "n" },
                                                                         edge    => { "5.5" => "n" },
                                                                         firefox => { 2 => "n", 21 => "y", 55 => "n d #2", 61 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y", "3.0-3.1" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Scoped attribute",
                                                       ucprefix     => 0,
                                                     },
                "subresource-integrity"           => {
                                                       categories   => ["HTML5", "Security"],
                                                       chrome_id    => 6183089948590080,
                                                       description  => "Subresource Integrity enables browsers to verify that file is delivered without unexpected manipulation.",
                                                       keywords     => "SRI, security, hash",
                                                       links        => [
                                                                         {
                                                                           title => "Subresource Integrity (MDN)",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity",
                                                                         },
                                                                         {
                                                                           title => "SRI generation and browser support test",
                                                                           url => "https://www.srihash.org/",
                                                                         },
                                                                         {
                                                                           title => "WebKit feature request bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=148363",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled via the \"Experimental Features\" developer menu",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/SRI/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 45 => "y" },
                                                                         edge    => { "5.5" => "n", "17" => "y" },
                                                                         firefox => { 2 => "n", 43 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.0-11.2" => "n d #1", "11.3-11.4" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 32 => "y" },
                                                                         safari  => { "3.1" => "n", "11" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "Subresource Integrity",
                                                       ucprefix     => 0,
                                                     },
                "svg"                             => {
                                                       categories   => ["SVG"],
                                                       description  => "Method of displaying basic Vector Graphics features using the embed or object elements. Refers to the SVG 1.1 spec.",
                                                       keywords     => ".svg,rect,circle,ellipse,line,polyline,polygon,defs,symbol,use,tspan,tref,textpath,stroke-dasharray,stroke-dashoffset,stroke-opacity",
                                                       links        => [
                                                                         {
                                                                           title => "Wikipedia",
                                                                           url => "https://en.wikipedia.org/wiki/Scalable_Vector_Graphics",
                                                                         },
                                                                         {
                                                                           title => "A List Apart article",
                                                                           url => "https://alistapart.com/article/using-svg-for-flexible-scalable-and-fun-backgrounds-part-i/",
                                                                         },
                                                                         { title => "SVG showcase site", url => "http://svg-wow.org/" },
                                                                         {
                                                                           title => "Web-based SVG editor",
                                                                           url => "https://github.com/SVG-Edit/svgedit",
                                                                         },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/graphics.js#svg",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support in Android 3 & 4 refers to not supporting masking.",
                                                                         2 => "Partial support in IE9-11 refers to not supporting animations.",
                                                                         3 => "IE9-11 & Edge don't properly scale SVG files. [Adding height, width, viewBox, and CSS rules](https://codepen.io/tomByrer/pen/qEBbzw?editors=110) seems to be the best workaround.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/SVG/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "3" => "a #1", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "6" => "p", "9" => "a #2 #3", "12" => "y #3", "79" => "y" },
                                                                         firefox => { 2 => "a", 3 => "y" },
                                                                         ie_mob  => { 10 => "y #2" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { 9 => "y" },
                                                                         safari  => { "3.1" => "a", "3.2" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "SVG (basic support)",
                                                       ucprefix     => 0,
                                                     },
                "svg-css"                         => {
                                                       categories   => ["CSS3", "SVG"],
                                                       description  => "Method of using SVG images as CSS backgrounds",
                                                       keywords     => "svg-in-css,svgincss,css-svg",
                                                       links        => [
                                                                         {
                                                                           title => "Tutorial for advanced effects",
                                                                           url => "https://www.sitepoint.com/a-farewell-to-css3-gradients/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support in iOS Safari and older Safari versions refers to failing to support tiling or the background-position property.",
                                                                         2 => "Partial support in older Firefox and Opera Mini/Mobile refers to SVG images being blurry when scaled.",
                                                                         3 => "Partial support in Edge 15 and older refers to a lack of support for SVG data URIs. [see bug](https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/6274479/)",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-background/#background-image",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "a", 5 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y", "12" => "a #3", "16" => "y" },
                                                                         firefox => { 2 => "n", 4 => "a #2", 24 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "a #1", "4.2-4.3" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "a #2" },
                                                                         op_mob  => { 10 => "a #2", 80 => "y" },
                                                                         opera   => { "9" => "n", "9.5-9.6" => "y" },
                                                                         safari  => { "3.1" => "n", "3.2" => "a #1", "5" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "SVG in CSS backgrounds",
                                                       ucprefix     => 0,
                                                     },
                "svg-filters"                     => {
                                                       categories => ["SVG"],
                                                       description => "Method of using Photoshop-like effects on SVG objects including blurring and color manipulation.",
                                                       links => [
                                                         {
                                                           title => "SVG filter demos",
                                                           url => "http://svg-wow.org/blog/category/filters/",
                                                         },
                                                         {
                                                           title => "WebPlatform Docs",
                                                           url => "https://webplatform.github.io/docs/svg/elements/filter",
                                                         },
                                                         {
                                                           title => "SVG Filter effects",
                                                           url => "https://jorgeatgu.github.io/svg-filters/",
                                                         },
                                                       ],
                                                       notes_by_num => {},
                                                       spec => "https://www.w3.org/TR/SVG11/filters.html",
                                                       stats => {
                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "n", 10 => "y" },
                                                         chrome  => { 4 => "n", 5 => "a", 8 => "y" },
                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                         firefox => { 2 => "n", 3 => "y" },
                                                         ie_mob  => { 10 => "y" },
                                                         ios_saf => { "3.2" => "n", "6.0-6.1" => "y" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "y" },
                                                         op_mob  => { 10 => "y" },
                                                         opera   => { 9 => "y" },
                                                         safari  => { "3.1" => "n", "6" => "y" },
                                                         samsung => { 4 => "y" },
                                                       },
                                                       status => "rec",
                                                       title => "SVG filters",
                                                       ucprefix => 0,
                                                     },
                "svg-fonts"                       => {
                                                       categories   => ["SVG"],
                                                       chrome_id    => 5930075908210688,
                                                       description  => "Method of using fonts defined as SVG shapes. Removed from [SVG 2.0](https://www.w3.org/TR/SVG2/changes.html#fonts) and considered as a deprecated feature with support being removed from browsers.",
                                                       links        => [
                                                                         {
                                                                           title => "Blog post",
                                                                           url => "http://jeremie.patonnier.net/post/2011/02/07/Why-are-SVG-Fonts-so-different",
                                                                         },
                                                                         {
                                                                           title => "Blog post on usage for iPad",
                                                                           url => "https://opentype.info/blog/2010/04/13/the-ipad-and-svg-fonts-in-mobile-safari.html?redirect=true",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Chrome 38 and newer support SVG fonts only on Windows Vista and XP.",
                                                                         2 => "Supported in Opera Mini in SVG images only, not in HTML.",
                                                                       },
                                                       parent       => "fontface",
                                                       spec         => "https://www.w3.org/TR/SVG11/fonts.html",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "3" => "y", "135" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n #1" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y", 38 => "n #1", 51 => "n" },
                                                                         edge    => { "5.5" => "n", "6" => "p", "9" => "n" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n #2" },
                                                                         op_mob  => { 10 => "y", 80 => "n" },
                                                                         opera   => { 9 => "y", 25 => "n #1", 37 => "n" },
                                                                         safari  => { "3.1" => "n", "3.2" => "y" },
                                                                         samsung => { "4" => "y", "5.0-5.4" => "n #1" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "SVG fonts",
                                                       ucprefix     => 0,
                                                     },
                "svg-fragment"                    => {
                                                       categories   => ["SVG"],
                                                       description  => "Method of displaying only a part of an SVG image by defining a view ID or view box dimensions as the file's fragment identifier.",
                                                       keywords     => "fragments,sprite,svg,use",
                                                       links        => [
                                                                         {
                                                                           title => "Blog post",
                                                                           url => "http://www.broken-links.com/2012/08/14/better-svg-sprites-with-fragment-identifiers/",
                                                                         },
                                                                         {
                                                                           title => "WebKit support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=91791",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to support inside `<img>` but not as CSS `background-image`",
                                                                         2 => "Partial support refers to lack of external fragments support",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/SVG/linking.html#SVGFragmentIdentifiers",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "a #1" },
                                                                         chrome  => { 4 => "n", 36 => "a #1", 50 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "a #2", "12" => "y" },
                                                                         firefox => { 2 => "n", 15 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "11.3-11.4" => "y", "3.2" => "n", "8" => "a #1", "9.0-9.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { "10" => "a", "12.1" => "y" },
                                                                         opera   => {
                                                                                      "10.0-10.1" => "a",
                                                                                      "12.1" => "y",
                                                                                      "15" => "n",
                                                                                      "23" => "a #1",
                                                                                      "37" => "y",
                                                                                      "9" => "u",
                                                                                    },
                                                                         safari  => { "3.1" => "n", "7.1" => "a #1", "9" => "n", "11.1" => "y" },
                                                                         samsung => { "4" => "a #1", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "SVG fragment identifiers",
                                                       ucprefix     => 0,
                                                     },
                "svg-html"                        => {
                                                       categories   => ["SVG"],
                                                       description  => "Method of using SVG transforms, filters, etc on HTML elements using either CSS or the foreignObject element",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Other content in SVG",
                                                                           url => "https://developer.mozilla.org/en/SVG/Tutorial/Other_content_in_SVG",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Applying SVG effects",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/SVG/Applying_SVG_effects_to_HTML_content",
                                                                         },
                                                                         {
                                                                           title => "Filter Effects draft",
                                                                           url => "https://www.w3.org/TR/filter-effects/",
                                                                         },
                                                                       ],
                                                       notes        => "Partial support refers to lack of filter support or buggy result from effects. A [CSS Filter Effects](https://www.w3.org/TR/filter-effects/) specification is in the works that would replace this method.",
                                                       notes_by_num => {
                                                                         1 => "IE11 and below do not support `<foreignObject>`.",
                                                                         2 => "IE and Edge do not support applying SVG filter effects to HTML elements using CSS. [Bug Report](https://web.archive.org/web/20171208021756/https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/6618695/)",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/SVG11/extend.html#ForeignObjectElement",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "a" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "a" },
                                                                         and_uc  => { "15.5" => "a" },
                                                                         baidu   => { "13.52" => "a" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "a" },
                                                                         edge    => { "5.5" => "n", "9" => "a #1 #2", "12" => "a #2", "79" => "a" },
                                                                         firefox => { "2" => "n", "3" => "a", "3.5" => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "a" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "a" },
                                                                         opera   => { 9 => "a" },
                                                                         safari  => { "3.1" => "n", "4" => "a" },
                                                                         samsung => { 4 => "a" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "SVG effects for HTML",
                                                       ucprefix     => 0,
                                                     },
                "svg-html5"                       => {
                                                       categories => ["HTML5", "SVG"],
                                                       description => "Method of using SVG tags directly in HTML documents. Requires HTML5 parser.",
                                                       links => [
                                                         {
                                                           title => "Mozilla Hacks blog post",
                                                           url => "https://hacks.mozilla.org/2010/05/firefox-4-the-html5-parser-inline-svg-speed-and-more/",
                                                         },
                                                         {
                                                           title => "Test suite",
                                                           url => "http://samples.msdn.microsoft.com/ietestcenter/html5/svghtml_harness.htm?url=SVG_HTML_Elements_001",
                                                         },
                                                       ],
                                                       notes_by_num => {
                                                         1 => "Does not support CSS transforms on SVG elements (transform attribute can be used instead)",
                                                       },
                                                       spec => "https://html.spec.whatwg.org/multipage/embedded-content.html#svg-0",
                                                       stats => {
                                                         and_chr => { "2.1" => "n", "3" => "y #1", "4.4" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "y #1", 10 => "y" },
                                                         chrome  => { 4 => "p", 7 => "y" },
                                                         edge    => { "5.5" => "n", "6" => "p", "9" => "y #1", "17" => "y" },
                                                         firefox => { 2 => "p", 4 => "y" },
                                                         ie_mob  => { 10 => "y #1" },
                                                         ios_saf => { "3.2" => "p", "5.0-5.1" => "y #1", "9.0-9.2" => "y" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "y" },
                                                         op_mob  => { 10 => "p", 12 => "y" },
                                                         opera   => { "9" => "p", "10.6" => "n", "11.6" => "y" },
                                                         safari  => { "3.1" => "p", "5.1" => "y #1", "9" => "y" },
                                                         samsung => { 4 => "y" },
                                                       },
                                                       status => "ls",
                                                       title => "Inline SVG in HTML5",
                                                       ucprefix => 0,
                                                     },
                "svg-img"                         => {
                                                       categories   => ["SVG"],
                                                       description  => "Method of displaying SVG images in HTML using <img>.",
                                                       keywords     => "svg-as-img,svg-in-img",
                                                       links        => [
                                                                         {
                                                                           title => "Blog with SVGs and images",
                                                                           url => "https://www.codedread.com/blog/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to not supporting embedded images (data URIs) inside the SVG.",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/embedded-content.html",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "3" => "a #1", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "a #1", 28 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                                         firefox => { 2 => "n", 4 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "a #1", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { 9 => "y" },
                                                                         safari  => { "3.1" => "n", "3.2" => "a", "4" => "a #1", "9" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "SVG in HTML img element",
                                                       ucprefix     => 0,
                                                     },
                "svg-smil"                        => {
                                                       categories   => ["SVG"],
                                                       description  => "Method of using animation elements to animate SVG images",
                                                       keywords     => "svg animation",
                                                       links        => [
                                                                         {
                                                                           title => "Examples on SVG WOW",
                                                                           url => "http://svg-wow.org/blog/category/animation/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - animation with SMIL",
                                                                           url => "https://developer.mozilla.org/en/SVG/SVG_animation_with_SMIL",
                                                                         },
                                                                         {
                                                                           title => "JS library to support SMIL in SVG",
                                                                           url => "https://leunen.me/fakesmile/",
                                                                         },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/graphics.js#svg-smil",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for SMIL animate events on SVG",
                                                                           url => "https://github.com/madsgraphics/SVGEventListener",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support in older Safari versions refers to not working in HTML files or CSS background images.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/SVG11/animate.html",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "a", 5 => "y" },
                                                                         edge    => { "5.5" => "n", "6" => "p", "79" => "y" },
                                                                         firefox => { 2 => "p", 4 => "y" },
                                                                         ie_mob  => { 10 => "p" },
                                                                         ios_saf => { "3.2" => "a #1", "6.0-6.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { 9 => "y" },
                                                                         safari  => { "3.1" => "p", "4" => "a #1", "6" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "SVG SMIL animation",
                                                       ucprefix     => 0,
                                                     },
                "sxg"                             => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 5745285984681984,
                                                       description  => "Part of the Web Packaging spec, Signed HTTP Exchanges allow a different origin server to provide a resource, and this will be treated as if it came from the original server. This can be used with AMP CDNs, for example, to allow the original URL to be displayed in the URL bar.",
                                                       keywords     => "SXG, WebPackage, AMP",
                                                       links        => [
                                                                         {
                                                                           title => "Chrome platform status - Shipped",
                                                                           url => "https://www.chromestatus.com/feature/5745285984681984",
                                                                         },
                                                                         {
                                                                           title => "Microsoft Edge Platform Status - Supported",
                                                                           url => "https://developer.microsoft.com/en-us/microsoft-edge/status/originsignedhttpexchanges/",
                                                                         },
                                                                         {
                                                                           title => "Signed HTTP Exchanges on Google's Web Development site",
                                                                           url => "https://developers.google.com/web/updates/2018/11/signed-exchanges",
                                                                         },
                                                                         {
                                                                           title => "Developer Preview of better AMP URLs in Google Search",
                                                                           url => "https://blog.amp.dev/2018/11/13/developer-preview-of-better-amp-urls-in-google-search/",
                                                                         },
                                                                         {
                                                                           title => "Signed-Exchange: Solving the AMP URLs Display Problem",
                                                                           url => "https://medium.com/oyotech/implementing-signed-exchange-for-better-amp-urls-38abd64c6766",
                                                                         },
                                                                         {
                                                                           title => "GitHub home page for Web Packaging",
                                                                           url => "https://github.com/WICG/webpackage",
                                                                         },
                                                                         {
                                                                           title => "Mozilla's Position about Signed HTTP Exchanges (harmful)",
                                                                           url => "https://mozilla.github.io/standards-positions/#http-origin-signed-responses",
                                                                         },
                                                                       ],
                                                       notes        => "Note this requires the page to be delivered signed by a certificate with the CanSignHttpExchanges extension.",
                                                       notes_by_num => {
                                                                         1 => "Partial support behind a feature flag (chrome://flags/#enable-signed-http-exchange)",
                                                                       },
                                                       spec         => "https://tools.ietf.org/html/draft-yasskin-http-origin-signed-responses",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 71 => "a #1", 73 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 64 => "y" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { "11.1-11.2" => "y", "4" => "n" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Signed HTTP Exchanges (SXG)",
                                                       ucprefix     => 0,
                                                     },
                "tabindex-attr"                   => {
                                                       categories   => ["HTML5"],
                                                       description  => "Specifies the focusability of the element and in what order (if any) it should become focused (relative to other elements) when \"tabbing\" through the document.",
                                                       keywords     => "tabindex,tab,tabIndex",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - tabindex attribute",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex",
                                                                         },
                                                                       ],
                                                       notes        => "Mac OS X \"Full Keyboard Access\" refers to setting Keyboard\x{2192}Shortcuts\x{2192}Full Keyboard Access to \"All controls\" in the System Preferences.\r\n\r\n\"Unknown\" support for mobile browsers is due to lacking a method of tabbing through fields.",
                                                       notes_by_num => {
                                                                         1 => "On Mac OS X, unless Full Keyboard Access is enabled, `<a>` elements are not keyboard-focusable, even if they have `tabindex=\"0\"`.",
                                                                         2 => "`<a>` elements are never keyboard-focusable, even if they have `tabindex=\"0\"`. Unless Full Keyboard Access is enabled, then `<button>`s, radio buttons, and checkboxes are also not keyboard-focusable, even if they have `tabindex=\"0\"`.",
                                                                         3 => "Has \"previous\" and \"next\" virtual keyboard buttons that follow tabindex order.",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/interaction.html#attr-tabindex",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "u" },
                                                                         chrome  => { 4 => "u", 15 => "y" },
                                                                         edge    => { "5.5" => "u", "7" => "y" },
                                                                         firefox => { 2 => "u", 4 => "y #1" },
                                                                         ie_mob  => { 10 => "u" },
                                                                         ios_saf => { "3.2" => "y #2 #3" },
                                                                         kaios   => { "2.5" => "y #1" },
                                                                         op_mini => { all => "u" },
                                                                         op_mob  => { 10 => "u", 80 => "y" },
                                                                         opera   => { "9" => "u", "9.5-9.6" => "y" },
                                                                         safari  => { "3.1" => "u", "5.1" => "y #2" },
                                                                         samsung => { 4 => "u" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "tabindex global attribute",
                                                       ucprefix     => 0,
                                                     },
                "template"                        => {
                                                       categories   => ["DOM", "HTML5"],
                                                       chrome_id    => 5207287069147136,
                                                       description  => "Method of declaring a portion of reusable markup that is parsed but not rendered until cloned.",
                                                       keywords     => "webcomponents, template, <template>",
                                                       links        => [
                                                                         {
                                                                           title => "web.dev - HTML's New template Tag",
                                                                           url => "https://web.dev/webcomponents-template/",
                                                                         },
                                                                         {
                                                                           title => "Polyfill script",
                                                                           url => "https://github.com/manubb/template",
                                                                         },
                                                                         {
                                                                           title => "Template element on MDN",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Does not support Document.importNode on templates, nested templates or elements that contain templates.",
                                                                         2 => "Does not support Node.cloneNode on templates, nested templates or elements that contain templates.",
                                                                         3 => "Safari 6.2 has the same partial support as Safari 7.1.",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/scripting.html#the-template-element",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 26 => "a #1", 35 => "y" },
                                                                         edge    => { "5.5" => "n", "13" => "a #1 #2", "15" => "y" },
                                                                         firefox => { 2 => "n", 22 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "8" => "a #1 #2", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "a #1", 22 => "y" },
                                                                         safari  => { "3.1" => "n", "6.1" => "n #3", "7" => "n", "7.1" => "a #1 #2", "9" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "HTML templates",
                                                       ucprefix     => 0,
                                                     },
                "template-literals"               => {
                                                       categories   => ["JS"],
                                                       chrome_id    => 4743002513735680,
                                                       description  => "Template literals are string literals allowing embedded expressions using backtick characters (`). You can use multi-line strings and string interpolation features with them. Formerly known as template strings.",
                                                       keywords     => "``,templateliterals,multiline",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Template literals",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals",
                                                                         },
                                                                         {
                                                                           title => "ES6 Template Literals in Depth",
                                                                           url => "https://ponyfoo.com/articles/es6-template-strings-in-depth",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Safari 12 [sometimes garbage collects](https://bugs.webkit.org/show_bug.cgi?id=190756) the cached TemplateStrings used by Tagged Template Literals",
                                                                       },
                                                       parent       => "es6",
                                                       spec         => "https://tc39.es/ecma262/#sec-template-literals",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 41 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "u", "13" => "y" },
                                                                         firefox => { 2 => "n", 34 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "12.0-12.1" => "y #1", "12.2-12.5" => "y", "3.2" => "n", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 29 => "y" },
                                                                         safari  => { "3.1" => "n", "9.1" => "y", "12" => "y #1", "12.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "ES6 Template Literals (Template Strings)",
                                                       ucprefix     => 0,
                                                     },
                "temporal"                        => {
                                                       categories   => ["JS", "JS API"],
                                                       chrome_id    => 5668291307634688,
                                                       description  => "A modern API for working with date and time, meant to supersede the original `Date` API.",
                                                       keywords     => "temporal,date,time",
                                                       links        => [
                                                                         {
                                                                           title => "Fixing JavaScript Date",
                                                                           url => "https://maggiepint.com/2017/04/11/fixing-javascript-date-web-compatibility-and-reality/",
                                                                         },
                                                                         {
                                                                           title => "Chromium implementation bug",
                                                                           url => "https://bugs.chromium.org/p/v8/issues/detail?id=11544",
                                                                         },
                                                                         {
                                                                           title => "Firefox implementation bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1839673",
                                                                         },
                                                                         {
                                                                           title => "WebKit implementation bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=223166",
                                                                         },
                                                                         {
                                                                           title => "Blog post: Temporal: getting started with JavaScript\x{2019}s new date time API",
                                                                           url => "https://2ality.com/2021/06/temporal-api.html",
                                                                         },
                                                                       ],
                                                       notes        => "All browsers are working on implementing this.",
                                                       notes_by_num => {
                                                                         1 => "Supported in Firefox Nightly behind the `javascript.options.experimental.temporal` flag, enabled by default since 137",
                                                                       },
                                                       spec         => "https://tc39.es/proposal-temporal/docs/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n" },
                                                                         edge    => { "5.5" => "n" },
                                                                         firefox => { 2 => "n", 135 => "n d #1", 139 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Temporal",
                                                       ucprefix     => 0,
                                                     },
                "text-decoration"                 => {
                                                       categories   => ["CSS3"],
                                                       chrome_id    => 5766823203045376,
                                                       description  => "Method of defining the type, style and color of lines in the text-decoration property. These can be defined as shorthand (e.g. `text-decoration: line-through dashed blue`) or as single properties (e.g. `text-decoration-color: blue`)",
                                                       keywords     => "text-decoration-line,text-decoration-style,text-decoration-color,text-decoration-skip",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - text-decoration-style",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-style",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - text-decoration-color",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-color",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - text-decoration-line",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-line",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - text-decoration-skip",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-skip",
                                                                         },
                                                                         {
                                                                           title => "Firefox implementation bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=812990",
                                                                         },
                                                                       ],
                                                       notes        => "All browsers support the CSS2 version of `text-decoration`, which matches only the `text-decoration-line` values (`underline`, etc.)",
                                                       notes_by_num => {
                                                                         1 => "Enabled in Chrome through the \"experimental Web Platform features\" flag in chrome://flags",
                                                                         2 => "Partial support refers to not supporting the `text-decoration-style` property.",
                                                                         3 => "Safari 8+ supports `-webkit-text-decoration-skip` with values `none` and `skip` (other values behave like `none` or `skip`)",
                                                                         4 => "Partial support refers to not supporting the `text-decoration-skip` property.",
                                                                         5 => "Partial support refers to `text-decoration-skip` only supporting value `objects` and `ink`.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-text-decor-3/#line-decoration",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "a #4" },
                                                                         and_qq  => { "14.9" => "a #5" },
                                                                         and_uc  => { "15.5" => "a #5" },
                                                                         baidu   => { "13.52" => "a #5" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 26 => "n x d #1", 57 => "a #5" },
                                                                         edge    => { "5.5" => "n", "79" => "a #5" },
                                                                         firefox => { 2 => "n", 6 => "a x #4", 36 => "a #4" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "8" => "a x #2" },
                                                                         kaios   => { "2.5" => "a #4" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "a #5" },
                                                                         opera   => { 9 => "n", 35 => "n x d #1", 44 => "a #5" },
                                                                         safari  => { "3.1" => "n", "7.1" => "a x #2 #4", "8" => "a x #2 #3", "12.1" => "a #2 #3" },
                                                                         samsung => { "4" => "n", "7.2-7.4" => "a #5" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "text-decoration styling",
                                                       ucprefix     => 0,
                                                     },
                "text-emphasis"                   => {
                                                       categories   => ["CSS3"],
                                                       description  => "Method of using small symbols next to each glyph to emphasize a run of text, commonly used in East Asian languages. The `text-emphasis` shorthand, and its `text-emphasis-style` and `text-emphasis-color` longhands, can be used to apply marks to the text. The `text-emphasis-position` property, which inherits separately, allows setting the emphasis marks' position with respect to the text.",
                                                       keywords     => "text-emphasis,text-emphasis-position,text-emphasis-style,text-emphasis-color",
                                                       links        => [
                                                                         {
                                                                           title => "A javascript fallback for CSS3 emphasis mark.",
                                                                           url => "https://github.com/zmmbreeze/jquery.emphasis/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - text-emphasis",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/text-emphasis",
                                                                         },
                                                                         {
                                                                           title => "Chromium bug to unprefix `-webkit-text-emphasis`",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=666433",
                                                                         },
                                                                       ],
                                                       notes        => "Some old WebKit browsers (like Chrome 24) support `-webkit-text-emphasis`, but does not support CJK languages and is therefore considered unsupported.",
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to incorrect support for `-webkit-text-emphasis-position`. These browsers support `over` and `under` as values, but not the added `left` and `right` values required by the spec.",
                                                                         2 => "Can be enabled in Firefox using the `layout.css.text-emphasis.enabled` flag",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-text-decor-3/#text-emphasis-property",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "a x #1", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "a x #1" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "a x #1" },
                                                                         bb      => { 7 => "n", 10 => "a x #1" },
                                                                         chrome  => { 4 => "n", 25 => "a x #1", 99 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "a x #1", "99" => "y" },
                                                                         firefox => { 2 => "n", 45 => "n d #2", 46 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "a x #1", 86 => "y" },
                                                                         safari  => { "3.1" => "n", "6.1" => "a x #1", "7.1" => "y" },
                                                                         samsung => { "4" => "a x #1", "18.0" => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "text-emphasis styling",
                                                       ucprefix     => 0,
                                                     },
                "text-overflow"                   => {
                                                       categories   => ["CSS3"],
                                                       description  => "Append ellipsis when text overflows its containing element",
                                                       keywords     => "textoverflow,ellipsis",
                                                       links        => [
                                                                         {
                                                                           title => "jQuery polyfill for Firefox",
                                                                           url => "https://github.com/rmorse/AutoEllipsis",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - text-overflow",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/text-overflow",
                                                                         },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/css.js#css-text-overflow",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/properties/text-overflow",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/css3-ui/#text-overflow",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "6" => "y" },
                                                                         firefox => { 2 => "p", 7 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { "10" => "y x", "12.1" => "y" },
                                                                         opera   => { 9 => "y x", 11 => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "CSS3 Text-overflow",
                                                       ucprefix     => 0,
                                                     },
                "text-size-adjust"                => {
                                                       categories   => ["CSS3"],
                                                       chrome_id    => 5730156303876096,
                                                       description  => "On mobile devices, the text-size-adjust CSS property allows Web authors to control if and how the text-inflating algorithm is applied to the textual content of the element it is applied to.",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - text-size-adjust",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/text-size-adjust",
                                                                         },
                                                                         {
                                                                           title => "Mozilla Bug\xA0#1226116: Unprefix -moz-text-size-adjust",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1226116",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "If the viewport size is set using a `<meta>` element, the `-ms-text-size-adjust` property is ignored. See [MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/text-size-adjust)",
                                                                         2 => "Old versions of WebKit-based desktop browsers (Chrome<27, Safari<6) [suffer from a bug](https://bugs.webkit.org/show_bug.cgi?id=56543) where if `-webkit-text-size-adjust` is explicitly set to `none`, instead of ignoring the property, the browsers will prevent the user from zooming in or out on the webpage.",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-size-adjust/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y x" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 26 => "n #2", 27 => "n", 54 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "y x", "79" => "y" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "y x #1" },
                                                                         ios_saf => { "3.2" => "n", "5.0-5.1" => "y x" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 43 => "y", 44 => "n", 45 => "y" },
                                                                         safari  => { "3.1" => "n", "5.1" => "n #2", "6" => "n" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "CSS text-size-adjust",
                                                       ucprefix     => 0,
                                                     },
                "text-stroke"                     => {
                                                       categories   => ["CSS"],
                                                       description  => "Method of declaring the outline (stroke) width and color for text.",
                                                       keywords     => "textstroke,stroke-color,stroke-width,text-fill-color,text-outline",
                                                       links        => [
                                                                         {
                                                                           title => "Information & workarounds",
                                                                           url => "https://css-tricks.com/adding-stroke-to-web-text/",
                                                                         },
                                                                         {
                                                                           title => "Live editor",
                                                                           url => "https://www.westciv.com/tools/textStroke/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - text-stroke",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-text-stroke",
                                                                         },
                                                                       ],
                                                       notes        => "Does not yet appear in any W3C specification. Was briefly included in a spec as the \"text-outline\" property, but this was removed.",
                                                       notes_by_num => {
                                                                         1 => "Firefox & Edge specifically only support the `-webkit-text-stroke` property (not using `-moz-` or `-ms-` prefix)",
                                                                         2 => "Requires the `layout.css.prefixes.webkit` flag to be enabled.",
                                                                       },
                                                       spec         => "https://compat.spec.whatwg.org/#text-fill-and-stroking",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y x", "3" => "n", "4" => "y x" },
                                                                         and_ff  => { 137 => "y x #1" },
                                                                         and_qq  => { "14.9" => "y x" },
                                                                         and_uc  => { "15.5" => "y x" },
                                                                         baidu   => { "13.52" => "y x" },
                                                                         bb      => { 7 => "y x" },
                                                                         chrome  => { 4 => "y x" },
                                                                         edge    => { "5.5" => "n", "15" => "y x #1", "79" => "y x" },
                                                                         firefox => { 2 => "n", 48 => "n d #1 #2", 49 => "y x #1" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "a x", "4.0-4.1" => "y x" },
                                                                         kaios   => { "2.5" => "y x #1" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y x" },
                                                                         opera   => { 9 => "n", 15 => "y x" },
                                                                         safari  => { "3.1" => "y x" },
                                                                         samsung => { 4 => "y x" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "CSS text-stroke and text-fill",
                                                       ucprefix     => 0,
                                                     },
                "textcontent"                     => {
                                                       categories   => ["DOM"],
                                                       description  => "DOM Node property representing the text content of a node and its descendants",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Node.textContent",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent",
                                                                         },
                                                                       ],
                                                       notes        => "`Node.textContent` is somewhat similar to, but has important differences from, [`HTMLElement.innerText`](https://caniuse.com/#feat=innertext).",
                                                       notes_by_num => {},
                                                       spec         => "https://dom.spec.whatwg.org/#dom-node-textcontent",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                                         firefox => { 2 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "u", "4.0-4.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { "9" => "u", "9.5-9.6" => "y" },
                                                                         safari  => { "3.1" => "u", "3.2" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Node.textContent",
                                                       ucprefix     => 0,
                                                     },
                "textencoder"                     => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5714368087982080,
                                                       description  => "`TextEncoder` encodes a JavaScript string into bytes using the UTF-8 encoding and returns the resulting `Uint8Array` of those bytes. `TextDecoder` does the reverse.",
                                                       keywords     => "encoding,text,encoder,decoding,decoder,utf,8",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - TextEncoder",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/TextEncoder",
                                                                         },
                                                                         {
                                                                           title => "WebKit Bug 160653 - Support TextEncoder & TextDecoder APIs",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=160653",
                                                                         },
                                                                       ],
                                                       notes_by_num => { 1 => "Not available in Web Workers in Firefox 19." },
                                                       spec         => "https://encoding.spec.whatwg.org/#api",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 38 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 19 => "a #1", 20 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "10.3" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 25 => "y" },
                                                                         safari  => { "3.1" => "n", "10.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "TextEncoder & TextDecoder",
                                                       ucprefix     => 0,
                                                     },
                "tls1-1"                          => {
                                                       categories   => ["Security"],
                                                       chrome_id    => 5759116003770368,
                                                       description  => "Version 1.1 of the Transport Layer Security (TLS) protocol.",
                                                       links        => [
                                                                         {
                                                                           title => "Wikipedia article about TLS 1.1",
                                                                           url => "https://en.wikipedia.org/wiki/Transport_Layer_Security#TLS_1.1",
                                                                         },
                                                                         {
                                                                           title => "Modernizing Transport Security - Google Security Blog",
                                                                           url => "https://security.googleblog.com/2018/10/modernizing-transport-security.html",
                                                                         },
                                                                         {
                                                                           title => "Modernizing TLS connections in Microsoft Edge and Internet Explorer 11 - Microsoft Windows Blog",
                                                                           url => "https://blogs.windows.com/msedgedev/2018/10/15/modernizing-tls-edge-ie11/",
                                                                         },
                                                                         {
                                                                           title => "Removing Old Versions of TLS - Mozilla Security Blog",
                                                                           url => "https://blog.mozilla.org/security/2018/10/15/removing-old-versions-of-tls/",
                                                                         },
                                                                         {
                                                                           title => "Deprecation of Legacy TLS 1.0 and 1.1 Versions - WebKit Blog",
                                                                           url => "https://webkit.org/blog/8462/deprecation-of-legacy-tls-1-0-and-1-1-versions/",
                                                                         },
                                                                       ],
                                                       notes        => "TLS 1.0 & 1.1 are deprecated in Chrome, Edge, Firefox, Internet Explorer 11, & Safari.",
                                                       notes_by_num => {
                                                                         1 => "Firefox 68+ displays a small warning icon in the address bar when connecting over TLS 1.1",
                                                                         2 => "Firefox 78+ displays a full page dismissable warning the first time it connects over TLS 1.1",
                                                                         3 => "Chrome 85+ and Safari for MacOS 13.1+ displays `Not secure` in the address bar when connecting over TLS 1.1",
                                                                         4 => "Chrome 85+ displays a full page dismissable warning every time a new site connects over TLS 1.1",
                                                                       },
                                                       spec         => "https://tools.ietf.org/html/rfc4346",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y #1" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 22 => "y", 85 => "a #3 #4" },
                                                                         edge    => { "5.5" => "n", "8" => "n d", "11" => "y" },
                                                                         firefox => { 2 => "n", 23 => "n d", 24 => "y", 68 => "y #1", 78 => "a #1 #2" },
                                                                         ie_mob  => { 10 => "n d", 11 => "y" },
                                                                         ios_saf => { "3.2" => "n", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { "10" => "n", "12.1" => "y" },
                                                                         opera   => { "9" => "n", "12.1" => "y", "73" => "a #3 #4" },
                                                                         safari  => { "3.1" => "n", "7" => "y", "13.1" => "y #3" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "TLS 1.1",
                                                       ucprefix     => 0,
                                                     },
                "tls1-2"                          => {
                                                       categories   => ["Security"],
                                                       chrome_id    => 5197666342404096,
                                                       description  => "Version 1.2 of the Transport Layer Security (TLS) protocol. Allows for data/message confidentiality, and message authentication codes for message integrity and as a by-product message authentication.",
                                                       links        => [
                                                                         {
                                                                           title => "Wikipedia article about TLS 1.2",
                                                                           url => "https://en.wikipedia.org/wiki/Transport_Layer_Security#TLS_1.2",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://tools.ietf.org/html/rfc5246",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 29 => "y" },
                                                                         edge    => { "5.5" => "n", "8" => "n d", "11" => "y" },
                                                                         firefox => { 2 => "n", 24 => "n d", 27 => "y" },
                                                                         ie_mob  => { 10 => "n d", 11 => "y" },
                                                                         ios_saf => { "3.2" => "n", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { "10" => "n", "12.1" => "y" },
                                                                         opera   => { "10.0-10.1" => "n d", "15" => "n", "16" => "y", "9" => "n" },
                                                                         safari  => { "3.1" => "n", "7" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "TLS 1.2",
                                                       ucprefix     => 0,
                                                     },
                "tls1-3"                          => {
                                                       categories   => ["Security"],
                                                       chrome_id    => 5712755738804224,
                                                       description  => "Version 1.3 (the latest one) of the Transport Layer Security (TLS) protocol. Removes weaker elliptic curves and hash functions.",
                                                       links        => [
                                                                         {
                                                                           title => "Wikipedia article about TLS 1.3",
                                                                           url => "https://en.wikipedia.org/wiki/Transport_Layer_Security#TLS_1.3",
                                                                         },
                                                                         {
                                                                           title => "Chrome support bug",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=630147",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Supports a draft of the TLS 1.3 specification, not the final version.",
                                                                         2 => "Can be enabled in Firefox by setting the `security.tls.version.max` pref to \"4\" in `about:config`.",
                                                                         3 => "Can be enabled in Chrome and Opera via the `#tls13-variant` flag in `chrome://flags` or `opera://flags`.",
                                                                         4 => "Partial support in Safari refers to being limited to macOS 10.14 Mojave and later.",
                                                                       },
                                                       spec         => "https://tools.ietf.org/html/rfc8446",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 54 => "n d #3 #1", 70 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 51 => "n d #2 #1", 60 => "a #1", 63 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "12.2-12.5" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 54 => "n d #3 #1", 57 => "y" },
                                                                         safari  => { "3.1" => "n", "12.1" => "a #4", "14" => "y" },
                                                                         samsung => { "4" => "n", "10.1" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "TLS 1.3",
                                                       ucprefix     => 0,
                                                     },
                "touch"                           => {
                                                       categories   => ["DOM", "JS API"],
                                                       chrome_id    => 6156165603917824,
                                                       description  => "Method of registering when, where and how the interface is touched, for devices with a touch screen. These DOM events are similar to mousedown, mousemove, etc.",
                                                       keywords     => "touchstart,touchend,touchmove,touchenter,touchleave,touchcancel",
                                                       links        => [
                                                                         {
                                                                           title => "Detailed support tables",
                                                                           url => "https://www.quirksmode.org/mobile/tableTouch.html",
                                                                         },
                                                                         {
                                                                           title => "Multi-touch demo",
                                                                           url => "https://www.quirksmode.org/m/tests/drag2.html",
                                                                         },
                                                                         {
                                                                           title => "Information on the spec development",
                                                                           url => "http://schepers.cc/getintouch",
                                                                         },
                                                                         {
                                                                           title => "Internet Explorer's gesture and touch implementation.",
                                                                           url => "https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/dev-guides/hh673557(v=vs.85)",
                                                                         },
                                                                         {
                                                                           title => "Touch polyfill for supporting touch events on Internet Explorer",
                                                                           url => "https://github.com/CamHenlin/TouchPolyfill",
                                                                         },
                                                                         {
                                                                           title => "MDN \x{2013} Touch events",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Touch_events",
                                                                         },
                                                                       ],
                                                       notes        => "Internet Explorer implements Pointer Events specification which supports more input devices than Touch Events one.\r\n\r\nThere is a library on GitHub that is working toward bringing W3C touch events to IE 10 and 11: https://github.com/CamHenlin/TouchPolyfill \r\n\r\nRemoved support in Firefox refers to desktop Firefox only.",
                                                       notes_by_num => {
                                                                         1 => "Can be enabled in Firefox using the dom.w3c_touch_events.enabled flag (disabled by default for site compatibility reasons)",
                                                                         2 => "Supported on IE11 Mobile for phones with \"[Windows Phone 8.1 Update](http://blogs.msdn.com/b/ie/archive/2014/07/31/the-mobile-web-should-just-work-for-everyone.aspx)\"",
                                                                         3 => "Can be enabled in Edge using the \"Enable touch events\" flag under `about:flags`",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/touch-events/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "n", 22 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "p", "12" => "n d #3", "79" => "y" },
                                                                         firefox => { 2 => "n", 4 => "a", 18 => "y", 25 => "n d #1", 52 => "y" },
                                                                         ie_mob  => { 10 => "p", 11 => "a #2" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 11 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "Touch events",
                                                       ucprefix     => 0,
                                                     },
                "transforms2d"                    => {
                                                       categories   => ["CSS3"],
                                                       chrome_id    => 6437640580628480,
                                                       description  => "Method of transforming an element including rotating, scaling, etc. Includes support for `transform` as well as `transform-origin` properties.",
                                                       keywords     => "transformation,translate,translatex,translatey,translatez,transform3d,rotation,rotate,scale,skew,css-transforms,transform-origin,transform:rotate,transform:scale,transform:skew",
                                                       links        => [
                                                                         {
                                                                           title => "Live editor",
                                                                           url => "https://www.westciv.com/tools/transforms/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - CSS transform",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/transform",
                                                                         },
                                                                         {
                                                                           title => "Workaround script for IE",
                                                                           url => "http://www.webresourcesdepot.com/cross-browser-css-transforms-csssandpaper/",
                                                                         },
                                                                         {
                                                                           title => "Converter for IE",
                                                                           url => "https://www.useragentman.com/IETransformsTranslator/",
                                                                         },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/css.js#css-transform",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/properties/transform/",
                                                                         },
                                                                         {
                                                                           title => "Microsoft Edge Platform Status (SVG)",
                                                                           url => "https://developer.microsoft.com/en-us/microsoft-edge/status/supportcsstransformsonsvg/",
                                                                         },
                                                                       ],
                                                       notes        => "The scale transform can be emulated in IE < 9 using Microsoft's \"zoom\" extension, others are (not easily) possible using the MS Matrix filter",
                                                       notes_by_num => {
                                                                         1 => "Does not support CSS transforms on SVG elements (transform attribute can be used instead)",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-2d-transforms/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y x", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y x" },
                                                                         chrome  => { 4 => "y x", 36 => "y" },
                                                                         edge    => { "5.5" => "n", "6" => "p", "9" => "y x #1", "10" => "y #1", "17" => "y" },
                                                                         firefox => { "2" => "n", "3.5" => "y x", "16" => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y x", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 11 => "y" },
                                                                         opera   => { "9" => "n", "10.5" => "y x", "12.1" => "y", "15" => "y x", "23" => "y" },
                                                                         safari  => { "3.1" => "y x", "9" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS3 2D Transforms",
                                                       ucprefix     => 0,
                                                     },
                "transforms3d"                    => {
                                                       categories   => ["CSS3"],
                                                       chrome_id    => 6437640580628480,
                                                       description  => "Method of transforming an element in the third dimension using the `transform` property. Includes support for the `perspective` property to set the perspective in z-space and the `backface-visibility` property to toggle display of the reverse side of a 3D-transformed element.",
                                                       keywords     => "css 3d,3dtransforms,backface visibility,perspective,transform-origin,transform-style,rotatex,rotatey,rotatez,translate3d,translatez,scalez,rotate3d",
                                                       links        => [
                                                                         {
                                                                           title => "Multi-browser demo",
                                                                           url => "http://css3.bradshawenterprises.com/flip/",
                                                                         },
                                                                         {
                                                                           title => "Mozilla hacks article",
                                                                           url => "https://hacks.mozilla.org/2011/10/css-3d-transformations-in-firefox-nightly/",
                                                                         },
                                                                         {
                                                                           title => "3D CSS Tester",
                                                                           url => "http://thewebrocks.com/demos/3D-css-tester/",
                                                                         },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/css.js#css-transform",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/properties/transform/",
                                                                         },
                                                                         {
                                                                           title => "Intro to CSS 3D transforms",
                                                                           url => "https://3dtransforms.desandro.com/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support in IE refers to not supporting [the transform-style: preserve-3d property](http://msdn.microsoft.com/en-us/library/ie/hh673529%28v=vs.85%29.aspx#the_ms_transform_style_property). This prevents nesting 3D transformed elements.",
                                                                         2 => "Safari 9-15.3 still require a prefix for the related `backface-visibility` property.",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-transforms-2/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "3" => "y x", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y x" },
                                                                         chrome  => { 4 => "n", 12 => "y x", 36 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "a #1", "12" => "y" },
                                                                         firefox => { 2 => "n", 10 => "y x", 16 => "y" },
                                                                         ie_mob  => { 10 => "a #1" },
                                                                         ios_saf => { "15.4" => "y", "3.2" => "y x", "9.0-9.2" => "y #2" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y x", 23 => "y" },
                                                                         safari  => { "3.1" => "n", "4" => "y x", "9" => "y #2", "15.4" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "CSS3 3D Transforms",
                                                       ucprefix     => 0,
                                                     },
                "trusted-types"                   => {
                                                       categories   => ["DOM", "JS API", "Other", "Security"],
                                                       chrome_id    => 5650088592408576,
                                                       description  => "An API that forces developers to be very explicit about their use of powerful DOM-injection APIs. Can greatly improve security against XSS attacks.",
                                                       keywords     => "trustedTypes,trustedHTML,trusted-types,require-trusted-types-for",
                                                       links        => [
                                                                         {
                                                                           title => "Web.dev article on using trusted types",
                                                                           url => "https://web.dev/trusted-types/",
                                                                         },
                                                                         {
                                                                           title => "Firefox position: non-harmful",
                                                                           url => "https://mozilla.github.io/standards-positions/#trusted-types",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://w3c.github.io/webappsec-trusted-types/dist/spec/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 83 => "y" },
                                                                         edge    => { "5.5" => "n", "83" => "y" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 69 => "y" },
                                                                         safari  => { "3.1" => "n", "TP" => "y" },
                                                                         samsung => { "4" => "n", "13.0" => "y" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Trusted Types for DOM manipulation",
                                                       ucprefix     => 0,
                                                     },
                "ttf"                             => {
                                                       categories   => ["CSS3"],
                                                       description  => "Support for the TrueType (.ttf) and OpenType (.otf) outline font formats in \@font-face. ",
                                                       links        => [
                                                                         {
                                                                           title => "What is the status of TTF support in Internet Explorer?",
                                                                           url => "https://stackoverflow.com/questions/17694143/what-is-the-status-of-ttf-support-in-internet-explorer",
                                                                         },
                                                                         {
                                                                           title => "OTF Specification",
                                                                           url => "https://docs.microsoft.com/en-us/typography/opentype/spec",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support in IE9+ refers to the fonts only working [when set to be \"installable\"](http://blogs.msdn.com/b/ie/archive/2010/07/15/the-css-corner-better-web-typography-for-better-design.aspx). Support for this is tracked [here](https://status.modern.ie/crossdomainfontloading).",
                                                                       },
                                                       parent       => "fontface",
                                                       spec         => "https://developer.apple.com/fonts/TrueType-Reference-Manual",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "2.2" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "a #1", "12" => "y" },
                                                                         firefox => { "2" => "n", "3.5" => "y" },
                                                                         ie_mob  => { 10 => "a #1" },
                                                                         ios_saf => { "3.2" => "n", "4.2-4.3" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { "10.0-10.1" => "y", "9" => "n" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "TTF/OTF - TrueType and OpenType font support",
                                                       ucprefix     => 0,
                                                     },
                "typedarrays"                     => {
                                                       categories   => ["JS"],
                                                       chrome_id    => 5135818813341696,
                                                       description  => "JavaScript typed arrays provide a mechanism for accessing raw binary data much more efficiently. Includes: `Int8Array`, `Uint8Array`, `Uint8ClampedArray`, `Int16Array`, `Uint16Array`, `Int32Array`, `Uint32Array`, `Float32Array` & `Float64Array`\r\n",
                                                       keywords     => "ES6,JavaScript,dataview,arraybuffer",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Typed arrays",
                                                                           url => "https://developer.mozilla.org/en/javascript_typed_arrays",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for this feature is available in the core-js library",
                                                                           url => "https://github.com/zloirock/core-js#ecmascript-typed-arrays",
                                                                         },
                                                                       ],
                                                       notes        => "Includes support for ArrayBuffer objects.",
                                                       notes_by_num => {
                                                                         1 => "IE10 (and IE 10&11 mobile) does not support `Uint8ClampedArray`",
                                                                         2 => "Does not support `Float64Array`",
                                                                       },
                                                       parent       => "es6",
                                                       spec         => "https://tc39.es/ecma262/#sec-typedarray-objects",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 7 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "a #1", "11" => "y" },
                                                                         firefox => { 2 => "n", 4 => "y" },
                                                                         ie_mob  => { 10 => "a #1" },
                                                                         ios_saf => { "3.2" => "n", "4.2-4.3" => "a #2", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "n", 12 => "y" },
                                                                         opera   => { "9" => "n", "11.6" => "y" },
                                                                         safari  => { "3.1" => "n", "5.1" => "a #2", "6" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Typed Arrays",
                                                       ucprefix     => 0,
                                                     },
                "u2f"                             => {
                                                       categories   => ["JS API", "Security"],
                                                       description  => "JavaScript API to interact with Universal Second Factor (U2F) devices. This allows users to log into sites more securely using two-factor authentication with a USB dongle.",
                                                       keywords     => "fido,u2f",
                                                       links        => [
                                                                         {
                                                                           title => "Mozilla bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1065729",
                                                                         },
                                                                         {
                                                                           title => "Google Security article",
                                                                           url => "https://security.googleblog.com/2014/10/strengthening-2-step-verification-with.html",
                                                                         },
                                                                         {
                                                                           title => "Chrome platform status: U2F Security Key API removal (Cryptotoken Component Extension)",
                                                                           url => "https://chromestatus.com/feature/5759004926017536",
                                                                         },
                                                                         {
                                                                           title => "Yubico blog post about the decommission",
                                                                           url => "https://www.yubico.com/blog/google-chrome-u2f-api-decommission-what-the-change-means-for-your-users-and-how-to-prepare/",
                                                                         },
                                                                         {
                                                                           title => "Chromium Intent to Deprecate and Remove: U2F API (Cryptotoken)",
                                                                           url => "https://groups.google.com/a/chromium.org/g/blink-dev/c/xHC3AtU_65A/m/yg20tsVFBAAJ",
                                                                         },
                                                                         {
                                                                           title => "Mozilla Firefox bug to remove the U2F API",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1737205",
                                                                         },
                                                                       ],
                                                       notes        => "The U2F API is [being decommissioned](https://www.yubico.com/blog/google-chrome-u2f-api-decommission-what-the-change-means-for-your-users-and-how-to-prepare/) (only the API, not the U2F protocol) and superseded by [WebAuthn](/webauthn).",
                                                       notes_by_num => {
                                                                         1 => "Requires the \"FIDO U2F (Universal 2nd Factor)\" Chrome extension",
                                                                         2 => "Support can be enabled with the `security.webauth.u2f` flag",
                                                                         3 => "Supported [via the internal CryptoTokenExtension.](https://github.com/google/u2f-ref-code/blob/master/u2f-gae-demo/war/js/u2f-api.js)",
                                                                       },
                                                       spec         => "https://fidoalliance.org/specs/fido-u2f-v1.0-nfc-bt-amendment-20150514/fido-u2f-javascript-api.html",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 38 => "n #1", 41 => "y #3", 98 => "n d #3", 106 => "n" },
                                                                         edge    => { "5.5" => "n", "79" => "y #3", "106" => "n" },
                                                                         firefox => { 2 => "n", 47 => "n d #2", 67 => "y", 112 => "n d #2", 114 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "13.3" => "y" },
                                                                         kaios   => { "2.5" => "n d #2", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 40 => "y #3", 41 => "n", 42 => "y #3" },
                                                                         safari  => { "3.1" => "n", "13" => "y" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "FIDO U2F API",
                                                       ucprefix     => 0,
                                                     },
                "unhandledrejection"              => {
                                                       categories   => ["JS", "JS API"],
                                                       chrome_id    => 4805872211460096,
                                                       description  => "The `unhandledrejection` event is fired when a Promise is rejected but there is no rejection handler to deal with the rejection. The `rejectionhandled` event is fired when a Promise is rejected, and after the rejection is handled by the promise's rejection handling code.",
                                                       keywords     => "onunhandledrejection,onrejectionhandled,promiserejectionevent",
                                                       links        => [
                                                                         {
                                                                           title => "MDN article on rejectionhandled",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/Events/rejectionhandled",
                                                                         },
                                                                         {
                                                                           title => "MDN article on unhandledrejection",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/Events/unhandledrejection",
                                                                         },
                                                                         {
                                                                           title => "Chrome sample code",
                                                                           url => "https://googlechrome.github.io/samples/promise-rejection-events/",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for this feature is available in the core-js library",
                                                                           url => "https://github.com/zloirock/core-js#unhandled-rejection-tracking",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/webappapis.html#unhandled-promise-rejections:event-unhandledrejection",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 49 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 69 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.0-11.2" => "u", "11.3-11.4" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 36 => "y" },
                                                                         safari  => { "3.1" => "n", "11" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "unhandledrejection/rejectionhandled events",
                                                       ucprefix     => 0,
                                                     },
                "upgradeinsecurerequests"         => {
                                                       categories   => ["Security"],
                                                       chrome_id    => 6534575509471232,
                                                       description  => "Declare that browsers should transparently upgrade HTTP resources on a website to HTTPS.",
                                                       keywords     => "security,header,uir,upgrade-insecure-requests",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Upgrade Insecure Requests",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/Security/CSP/CSP_policy_directives#upgrade-insecure-requests",
                                                                         },
                                                                         {
                                                                           title => "Demo Website",
                                                                           url => "https://googlechrome.github.io/samples/csp-upgrade-insecure-requests/index.html",
                                                                         },
                                                                         {
                                                                           title => "WebKit feature request bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=143653",
                                                                         },
                                                                       ],
                                                       notes        => "The HTTP header is `Content-Security-Policy: upgrade-insecure-requests`. Alternatively, the HTML tag is `<meta http-equiv=\"Content-Security-Policy\" content=\"upgrade-insecure-requests\">`.",
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/upgrade-insecure-requests/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 43 => "y" },
                                                                         edge    => { "5.5" => "n", "17" => "y" },
                                                                         firefox => { 2 => "n", 42 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "10.3" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 30 => "y" },
                                                                         safari  => { "3.1" => "n", "10.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Upgrade Insecure Requests",
                                                       ucprefix     => 0,
                                                     },
                "url"                             => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5675829346435072,
                                                       description  => "API to retrieve the various parts that make up a given URL from a given URL string.",
                                                       keywords     => "url constructor",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - URL interface",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/URL",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - URL constructor",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/URL/URL",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for this feature is available in the core-js library",
                                                                           url => "https://github.com/zloirock/core-js#url-and-urlsearchparams",
                                                                         },
                                                                       ],
                                                       notes        => "See also [URLSearchParams](#feat=urlsearchparams).",
                                                       notes_by_num => {
                                                                         1 => "Allows objects to be created via `URL` constructor, but instances do not have the expected url properties.",
                                                                       },
                                                       spec         => "https://url.spec.whatwg.org/#api",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "n #1", "4.4.3-4.4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "n #1" },
                                                                         chrome  => { 4 => "n", 23 => "n #1", 32 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "y" },
                                                                         firefox => { 2 => "n", 26 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "7.0-7.1" => "n #1", "8" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "n #1", 19 => "y" },
                                                                         safari  => { "3.1" => "n", "7" => "n #1", "7.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "URL API",
                                                       ucprefix     => 0,
                                                     },
                "url-scroll-to-text-fragment"     => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 4733392803332096,
                                                       description  => "URL fragment that defines a piece of text to be scrolled into view and highlighted.",
                                                       keywords     => "#:~:text=,Scroll To Text,textTarget,search",
                                                       links        => [
                                                                         {
                                                                           title => "Article about why the `:~:` syntax",
                                                                           url => "https://blog.jim-nielsen.com/2022/scroll-to-text-fragments/",
                                                                         },
                                                                       ],
                                                       notes        => "Firefox has basic support but still [has a number of open issues](https://bugzilla.mozilla.org/show_bug.cgi?id=1753933) related to the feature.",
                                                       notes_by_num => {},
                                                       spec         => "https://wicg.github.io/ScrollToTextFragment/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 74 => "n d", 81 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "n d", "83" => "y" },
                                                                         firefox => { 2 => "n", 131 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "16.1" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 66 => "n d", 68 => "y" },
                                                                         safari  => { "3.1" => "n", "16.1" => "y" },
                                                                         samsung => { "4" => "n", "13.0" => "y" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "URL Scroll-To-Text Fragment",
                                                       ucprefix     => 0,
                                                     },
                "urlsearchparams"                 => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5632984866619392,
                                                       description  => "The URLSearchParams interface defines utility methods to work with the query string of a URL.",
                                                       keywords     => "url,search,params",
                                                       links        => [
                                                                         {
                                                                           title => "Easy URL manipulation with URLSearchParams",
                                                                           url => "https://developers.google.com/web/updates/2016/01/urlsearchparams?hl=en",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - URLSearchParams",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for this feature is available in the core-js library",
                                                                           url => "https://github.com/zloirock/core-js#url-and-urlsearchparams",
                                                                         },
                                                                         {
                                                                           title => "EdgeHTML implementation bug",
                                                                           url => "https://web.archive.org/web/20190624214230/https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/8993198/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to only supporting `entries()`, `keys()`, `values()`, and `for...of`.",
                                                                       },
                                                       spec         => "https://url.spec.whatwg.org/#urlsearchparams",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 49 => "y" },
                                                                         edge    => { "5.5" => "n", "17" => "y" },
                                                                         firefox => { 2 => "n", 29 => "a #1", 44 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "10.3" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 36 => "y" },
                                                                         safari  => { "3.1" => "n", "10.1" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "URLSearchParams",
                                                       ucprefix     => 0,
                                                     },
                "use-strict"                      => {
                                                       categories   => ["JS"],
                                                       description  => "Method of placing code in a \"strict\" operating context.",
                                                       links        => [
                                                                         {
                                                                           title => "Information page",
                                                                           url => "https://johnresig.com/blog/ecmascript-5-strict-mode-json-and-more/",
                                                                         },
                                                                         {
                                                                           title => "Article with test suite",
                                                                           url => "https://javascriptweblog.wordpress.com/2011/05/03/javascript-strict-mode/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support in older Safari refers to strict mode still accepting a lot of JS that should be considered invalid.",
                                                                       },
                                                       parent       => "es5",
                                                       spec         => "https://www.ecma-international.org/ecma-262/5.1/#sec-14.1",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "n", 13 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "n", 4 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { "10" => "n", "11.5" => "y" },
                                                                         opera   => { "9" => "n", "11.6" => "y" },
                                                                         safari  => { "3.1" => "n", "5" => "a #1", "6" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "ECMAScript 5 Strict Mode",
                                                       ucprefix     => 0,
                                                     },
                "user-select-none"                => {
                                                       categories => ["CSS"],
                                                       description => "Method of preventing text/element selection using CSS. ",
                                                       links => [
                                                         {
                                                           title => "MDN Web Docs - CSS user-select",
                                                           url => "https://developer.mozilla.org/en-US/docs/CSS/user-select",
                                                         },
                                                         {
                                                           title => "CSS Tricks article",
                                                           url => "https://css-tricks.com/almanac/properties/u/user-select/",
                                                         },
                                                         {
                                                           title => "MSDN Documentation",
                                                           url => "https://docs.microsoft.com/en-us/previous-versions/hh781492(v=vs.85)",
                                                         },
                                                         {
                                                           title => "WebKit bug to unprefix `-webkit-user-select`",
                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=208677",
                                                         },
                                                       ],
                                                       notes_by_num => {},
                                                       spec => "https://w3c.github.io/csswg-drafts/css-ui-4/#valdef-user-select-none",
                                                       stats => {
                                                         and_chr => { "2.1" => "y x", "135" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "y x" },
                                                         chrome  => { 4 => "y x", 54 => "y" },
                                                         edge    => { "5.5" => "n", "10" => "y x", "79" => "y" },
                                                         firefox => { 2 => "y x", 69 => "y" },
                                                         ie_mob  => { 10 => "y x" },
                                                         ios_saf => { "3.2" => "y x" },
                                                         kaios   => { "2.5" => "y x", "3.0-3.1" => "y" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                         opera   => { 9 => "n", 15 => "y x", 41 => "y" },
                                                         safari  => { "3.1" => "y x" },
                                                         samsung => { "4" => "y x", "6.2-6.4" => "y" },
                                                       },
                                                       status => "wd",
                                                       title => "CSS user-select: none",
                                                       ucprefix => 0,
                                                     },
                "user-timing"                     => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5066549580791808,
                                                       description  => "Method to help web developers measure the performance of their applications by giving them access to high precision timestamps.",
                                                       keywords     => "performance,testing,mark,measure",
                                                       links        => [
                                                                         {
                                                                           title => "SitePoint article",
                                                                           url => "https://www.sitepoint.com/discovering-user-timing-api/",
                                                                         },
                                                                         {
                                                                           title => "HTML5Rocks article",
                                                                           url => "https://www.html5rocks.com/en/tutorials/webperformance/usertiming/",
                                                                         },
                                                                         {
                                                                           title => "Polyfill",
                                                                           url => "https://gist.github.com/pmeenan/5902672",
                                                                         },
                                                                         {
                                                                           title => "Demo",
                                                                           url => "https://audero.it/demo/user-timing-api-demo.html",
                                                                         },
                                                                         {
                                                                           title => "UserTiming.js polyfill",
                                                                           url => "https://github.com/nicjansma/usertiming.js",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/user-timing/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 25 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "n", 38 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "11.0-11.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "11" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "User Timing API",
                                                       ucprefix     => 0,
                                                     },
                "variable-fonts"                  => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 4708676673732608,
                                                       description  => "OpenType font settings that allows a single font file to behave like multiple fonts: it can contain all the allowed variations in width, weight, slant, optical size, or any other exposed axes of variation as defined by the font designer. Variations can be applied via the `font-variation-settings` property.",
                                                       keywords     => "variable fonts, variation fonts, font variations",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web docs article",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/font-variation-settings",
                                                                         },
                                                                         {
                                                                           title => "How to use variable fonts in the real world",
                                                                           url => "https://medium.com/clear-left-thinking/how-to-use-variable-fonts-in-the-real-world-e6d73065a604",
                                                                         },
                                                                         {
                                                                           title => "v-fonts.com - A simple resource for finding and trying variable fonts",
                                                                           url => "https://v-fonts.com",
                                                                         },
                                                                         {
                                                                           title => "Axis-Praxis - Tool & info on variable fonts",
                                                                           url => "https://www.axis-praxis.org/about",
                                                                         },
                                                                         {
                                                                           title => "Getting started with Variable Fonts on the Frontend (2022)",
                                                                           url => "https://evilmartians.com/chronicles/the-joy-of-variable-fonts-getting-started-on-the-frontend",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Works with Experimental Web Platform features enabled",
                                                                         2 => "Requires macOS 10.12 Sierra or later and the following about:config flags to be enabled:\r\n`layout.css.font-variations.enabled`,\r\n`gfx.downloadable_fonts.keep_variation_tables`",
                                                                         3 => "Requires macOS 10.13 High Sierra or later or [Windows 10 1709 \"Fall Creators Update\" or later](https://bugzilla.mozilla.org/show_bug.cgi?id=1742970#c2)",
                                                                         4 => "Does not support the `font-weight` and `font-stretch` properties.",
                                                                         5 => "Does not support `format('truetype-variations')`, `format('woff-variations')`, `format('woff2-variations')`",
                                                                         6 => "Does not support OpenType-CFF2 fonts",
                                                                         7 => "OpenType-CFF2 support requires macOS 10.15 Catalina or later",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-fonts-4/#font-variation-settings-def",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y #6" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 59 => "n d #1 #6", 62 => "a #5 #6", 66 => "y #6", 67 => "y" },
                                                                         edge    => { "5.5" => "n", "17" => "y" },
                                                                         firefox => {
                                                                                      2  => "n",
                                                                                      53 => "n d #2 #4 #5 #6",
                                                                                      58 => "n d #3 #4 #5 #6",
                                                                                      60 => "n d #3 #4 #6",
                                                                                      61 => "n d #3 #6",
                                                                                      62 => "y #3 #6",
                                                                                      71 => "y #3 #7",
                                                                                    },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.0-11.2" => "y #6", "13.0-13.1" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 49 => "a #5 #6", 53 => "y #6", 54 => "y" },
                                                                         safari  => { "3.1" => "n", "11" => "y #3 #6", "13" => "y #7", "15" => "y" },
                                                                         samsung => { "4" => "n", "8.2" => "y #6" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Variable fonts",
                                                       ucprefix     => 0,
                                                     },
                "vector-effect"                   => {
                                                       categories   => ["SVG"],
                                                       description  => "The `non-scaling-stroke` value for the `vector-effect` SVG attribute/CSS property makes strokes appear as the same width regardless of any transformations applied.",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Docs article on vector-effect",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/vector-effect",
                                                                         },
                                                                         {
                                                                           title => "Firefox implementation bug for other values",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1318208",
                                                                         },
                                                                         {
                                                                           title => "Chromium implementation bug for other values",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=691398",
                                                                         },
                                                                       ],
                                                       notes        => "Other values for the `vector-effect` attribute/property are currently at risk of being removed from the specification as they are not being developed by browser vendors.",
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/SVG2/coords.html#VectorEffectProperty",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "u" },
                                                                         chrome  => { 4 => "u", 15 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 15 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "u", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "n", 12 => "y" },
                                                                         opera   => { "9" => "n", "11.6" => "y" },
                                                                         safari  => { "3.1" => "n", "5.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "SVG vector-effect: non-scaling-stroke",
                                                       ucprefix     => 0,
                                                     },
                "vibration"                       => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5698768766763008,
                                                       description  => "Method to access the vibration mechanism of the hosting device.",
                                                       keywords     => "vibration,mobile,device",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Vibration",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/Guide/API/Vibration",
                                                                         },
                                                                         {
                                                                           title => "Vibration API sample code & demo",
                                                                           url => "https://davidwalsh.name/vibration-api",
                                                                         },
                                                                         {
                                                                           title => "Tuts+ article",
                                                                           url => "https://code.tutsplus.com/tutorials/html5-vibration-api--mobile-22585",
                                                                         },
                                                                         {
                                                                           title => "Demo",
                                                                           url => "https://audero.it/demo/vibration-api-demo.html",
                                                                         },
                                                                         {
                                                                           title => "Article and Usage Examples",
                                                                           url => "https://www.illyism.com/journal/vibrate-mobile-phone-web-vibration-api/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/vibration/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 30 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 11 => "y x", 16 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 17 => "y" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "Vibration API",
                                                       ucprefix     => 0,
                                                     },
                "video"                           => {
                                                       categories   => ["HTML5"],
                                                       description  => "Method of playing videos on webpages (without requiring a plug-in). Includes support for the following media properties: `currentSrc`, `currentTime`, `paused`, `playbackRate`, `buffered`, `duration`, `played`, `seekable`, `ended`, `autoplay`, `loop`, `controls`, `volume` & `muted`",
                                                       keywords     => "<video>,videoHeight,videoWidth,HTMLVideoElement.videoHeight,HTMLVideoElement.videoWidth",
                                                       links        => [
                                                                         {
                                                                           title => "Detailed article on video/audio elements",
                                                                           url => "https://dev.opera.com/articles/everything-you-need-to-know-html5-video-audio/",
                                                                         },
                                                                         {
                                                                           title => "WebM format information",
                                                                           url => "https://www.webmproject.org",
                                                                         },
                                                                         {
                                                                           title => "Video for Everybody",
                                                                           url => "http://camendesign.co.uk/code/video_for_everybody",
                                                                         },
                                                                         {
                                                                           title => "Video on the Web - includes info on Android support",
                                                                           url => "http://diveintohtml5.info/video.html",
                                                                         },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/video.js#video",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/html/elements/video",
                                                                         },
                                                                       ],
                                                       notes        => "Different browsers have support for different video formats, see sub-features for details.\r\n\r\n",
                                                       notes_by_num => {
                                                                         1 => "The Android browser (before 2.3) requires [specific handling](http://www.broken-links.com/2010/07/08/making-html5-video-work-on-android-phones/) to run the video element.",
                                                                         2 => "Old Firefox versions were missing support for some properties: `loop` was added in v11, `played` in v15, `playbackRate` in v20.",
                                                                         3 => "Ignores the `autoplay` attribute by default, though autoplay behavior can be [enabled by users](https://webkit.org/blog/7734/auto-play-policy-changes-for-macos/)",
                                                                         4 => "On iOS the `volume` property is read-only.",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/embedded-content.html#the-video-element",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a #1", "2.3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                                         firefox => { "2" => "n", "3.5" => "a #2", "20" => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "11.0-11.2" => "y #3 #4", "3.2" => "y #4" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 11 => "y" },
                                                                         opera   => { "9" => "n", "10.5" => "y" },
                                                                         safari  => { "3.1" => "y", "11" => "y #3" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Video element",
                                                       ucprefix     => 0,
                                                     },
                "videotracks"                     => {
                                                       categories   => ["HTML5"],
                                                       chrome_id    => 5748496434987008,
                                                       description  => "Method of specifying and selecting between multiple video tracks. Useful for providing sign language tracks, burnt-in captions or subtitles, alternative camera angles, etc.",
                                                       keywords     => "VideoTrack,VideoTrackList,media,multiple,selection",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - HTMLMediaElement",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Supported in Firefox by enabling \"media.track.enabled\" in about:config",
                                                                         2 => "Supported in Chrome and Opera by enabling \"enable-experimental-web-platform-features\" in chrome:flags",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/embedded-content.html#audiotracklist-and-videotracklist-objects",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n d #2" },
                                                                         and_uc  => { "15.5" => "n d #2" },
                                                                         baidu   => { "13.52" => "n d #2" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 45 => "n d #2" },
                                                                         edge    => { "5.5" => "n", "12" => "y", "79" => "n d #2" },
                                                                         firefox => { 2 => "n", 33 => "n d #1" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "n d #1" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "n d #2" },
                                                                         opera   => { 9 => "n", 32 => "n d #2" },
                                                                         safari  => { "3.1" => "n", "6.1" => "y" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Video Tracks",
                                                       ucprefix     => 0,
                                                     },
                "view-transitions"                => {
                                                       categories   => ["CSS", "JS API"],
                                                       chrome_id    => 5193009714954240,
                                                       description  => "Provides a mechanism for easily creating animated transitions between different DOM states, while also updating the DOM contents in a single step. This API is specific to single-document transitions.",
                                                       keywords     => "ViewTransition,startViewTransition",
                                                       links        => [
                                                                         {
                                                                           title => "Explainer document",
                                                                           url => "https://github.com/WICG/view-transitions/blob/main/explainer.md",
                                                                         },
                                                                         {
                                                                           title => "Chrome Developers documentation",
                                                                           url => "https://developer.chrome.com/docs/web-platform/view-transitions/",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1823896",
                                                                         },
                                                                         {
                                                                           title => "View Transition API on MDN",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/View_Transition_API",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/css-view-transitions-1/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 111 => "y" },
                                                                         edge    => { "5.5" => "n", "111" => "y" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "18.0" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 97 => "y" },
                                                                         safari  => { "3.1" => "n", "18.0" => "y" },
                                                                         samsung => { 4 => "n", 23 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "View Transitions API (single-document)",
                                                       ucprefix     => 0,
                                                     },
                "viewport-unit-variants"          => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5170718078140416,
                                                       description  => "Viewport units similar to `vw` and `vh` that are based on shown or hidden browser UI states to address shortcomings of the original units. Currently defined as the `sv*` units (`svb`,\xA0`svh`,\xA0`svi`,\xA0`svmax`,\xA0`svmin`,\xA0`svw`), `lv*` units (`lvb`,\xA0`lvh`,\xA0`lvi`,\xA0`lvmax`,\xA0`lvmin`,\xA0`lvw`), `dv*` units (`dvb`,\xA0`dvh`,\xA0`dvi`,\xA0`dvmax`,\xA0`dvmin`,\xA0`dvw`) and the logical `vi`/`vb` units.",
                                                       links        => [
                                                                         {
                                                                           title => "Blog post explaining the new units",
                                                                           url => "https://www.bram.us/2021/07/08/the-large-small-and-dynamic-viewports/",
                                                                         },
                                                                         {
                                                                           title => "Chromium support bug",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=1093055",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1610815",
                                                                         },
                                                                         {
                                                                           title => "WebKit support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=219287",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - Relative length units based on viewport",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/length#relative_length_units_based_on_viewport",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled via the [Experimental Web Platform features](chrome://flags/#enable-experimental-web-platform-features) flag",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css-values-4/#viewport-variants",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 100 => "n d #1", 108 => "y" },
                                                                         edge    => { "5.5" => "n", "105" => "n d #1", "108" => "y" },
                                                                         firefox => { 2 => "n", 101 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "15.4" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 91 => "n d #1", 94 => "y" },
                                                                         safari  => { "3.1" => "n", "15.4" => "y" },
                                                                         samsung => { 4 => "n", 21 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Small, Large, and Dynamic viewport units",
                                                       ucprefix     => 0,
                                                     },
                "viewport-units"                  => {
                                                       categories   => ["CSS3"],
                                                       description  => "Length units representing a percentage of the current viewport dimensions: width (vw), height (vh), the smaller of the two (vmin), or the larger of the two (vmax).",
                                                       keywords     => "vm,viewport-percentage,100vh,100vw",
                                                       links        => [
                                                                         {
                                                                           title => "Blog post",
                                                                           url => "https://css-tricks.com/viewport-sized-typography/",
                                                                         },
                                                                         { title => "Polyfill", url => "https://github.com/saabi/vminpoly" },
                                                                         {
                                                                           title => "Buggyfill - Polyfill that fixes buggy support",
                                                                           url => "https://github.com/rodneyrehm/viewport-units-buggyfill",
                                                                         },
                                                                         {
                                                                           title => "Back-Forward issue blog post",
                                                                           url => "https://blog.rodneyrehm.de/archives/34-iOS7-Mobile-Safari-And-Viewport-Units.html",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support in IE9 refers to supporting \"vm\" instead of \"vmin\".",
                                                                         2 => "Partial support refers to not supporting the \"vmax\" unit. ",
                                                                         3 => "Partial support in iOS7 is due to buggy behavior of the \"vh\" unit (see workarounds: [1](https://gist.github.com/pburtchaell/e702f441ba9b3f76f587), [2](https://gist.github.com/BenMorel/e9e34c08360ebbbd0634)).",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/css3-values/#viewport-relative-lengths",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 20 => "a #2", 26 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "a #1", "10" => "a #2", "16" => "y" },
                                                                         firefox => { 2 => "n", 19 => "y" },
                                                                         ie_mob  => { 10 => "a #2" },
                                                                         ios_saf => { "3.2" => "n", "6.0-6.1" => "a #2 #3", "7.0-7.1" => "a #3", "8" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "6" => "a #2", "6.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Viewport units: vw, vh, vmin, vmax",
                                                       ucprefix     => 0,
                                                     },
                "wai-aria"                        => {
                                                       categories   => ["Other"],
                                                       description  => "Method of providing ways for people with disabilities to use dynamic web content and web applications.",
                                                       keywords     => "wai,aria,wai-aria,web accessibility initiative,accessible rich internet applications,html,a11y,accessible,aria-hidden,aria-labelledby,aria-haspopup,aria-expanded,aria-controls,roles",
                                                       links        => [
                                                                         {
                                                                           title => "Wikipedia",
                                                                           url => "https://en.wikipedia.org/wiki/WAI-ARIA",
                                                                         },
                                                                         {
                                                                           title => "HTML5/WAI-ARIA information",
                                                                           url => "https://zufelt.ca/blog/are-you-confused-html5-and-wai-aria-yet",
                                                                         },
                                                                         {
                                                                           title => "a11ysupport.io - Accessibility Support data for various HTML, ARIA, CSS, and SVG features",
                                                                           url => "https://a11ysupport.io/",
                                                                         },
                                                                         {
                                                                           title => "WAI-ARIA Overview",
                                                                           url => "https://www.w3.org/WAI/standards-guidelines/aria/",
                                                                         },
                                                                         {
                                                                           title => "Links to various test results",
                                                                           url => "https://developer.paciellogroup.com/blog/2011/10/browser-assistive-technology-tests-redux/",
                                                                         },
                                                                         {
                                                                           title => "A List Apart - The Accessibility of WAI-ARIA",
                                                                           url => "https://alistapart.com/article/the-accessibility-of-wai-aria/",
                                                                         },
                                                                       ],
                                                       notes        => "Support for ARIA is rather complex and currently is not fully supported in any browser. For detailed information on partial support see the [ARIA 1.0 Implementation Report](https://www.w3.org/WAI/ARIA/1.0/CR/implementation-report)\r\n",
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/wai-aria/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "a" },
                                                                         and_ff  => { 137 => "a" },
                                                                         and_qq  => { "14.9" => "a" },
                                                                         and_uc  => { "15.5" => "a" },
                                                                         baidu   => { "13.52" => "a" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "a" },
                                                                         edge    => { "5.5" => "n", "8" => "a" },
                                                                         firefox => { 2 => "a" },
                                                                         ie_mob  => { 10 => "a" },
                                                                         ios_saf => { "3.2" => "a" },
                                                                         kaios   => { "2.5" => "a" },
                                                                         op_mini => { all => "a" },
                                                                         op_mob  => { 10 => "a" },
                                                                         opera   => { "9" => "n", "9.5-9.6" => "a" },
                                                                         safari  => { "3.1" => "n", "4" => "a" },
                                                                         samsung => { 4 => "a" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "WAI-ARIA Accessibility features",
                                                       ucprefix     => 0,
                                                     },
                "wake-lock"                       => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 4636879949398016,
                                                       description  => "API to prevent devices from dimming, locking or turning off the screen when the application needs to keep running.",
                                                       keywords     => "navigator.wakelock.request,wakelocksentinel,screen-wake-lock",
                                                       links        => [
                                                                         {
                                                                           title => "Stay awake with the Screen Wake Lock API",
                                                                           url => "https://web.dev/wakelock/",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1589554",
                                                                         },
                                                                         {
                                                                           title => "WebKit support bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=205104",
                                                                         },
                                                                         {
                                                                           title => "MDN article about the Screen Wake Lock API",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Screen_Wake_Lock_API",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Available behind the #experimental-web-platform-features feature flag",
                                                                         2 => "Available behind the `dom.screenwakelock.enabled` flag, which is only enabled by default in early Beta or earlier",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/wake-lock/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 71 => "n d #1", 85 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "n d #1", "90" => "y" },
                                                                         firefox => { 2 => "n", 124 => "n d #2", 126 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "16.4" => "y" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 58 => "n d #1", 73 => "y" },
                                                                         safari  => { "3.1" => "n", "16.4" => "y" },
                                                                         samsung => { "4" => "n", "14.0" => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Screen Wake Lock API",
                                                       ucprefix     => 0,
                                                     },
                "wasm"                            => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 5453022515691520,
                                                       description  => "WebAssembly or \"wasm\" is a new portable, size- and load-time-efficient format suitable for compilation to the web.",
                                                       keywords     => "web assembly",
                                                       links        => [
                                                                         { title => "Official site", url => "https://webassembly.org/" },
                                                                         {
                                                                           title => "WebAssembly on MDN",
                                                                           url => "https://developer.mozilla.org/docs/WebAssembly",
                                                                         },
                                                                         {
                                                                           title => "Roadmap and detailed feature support table",
                                                                           url => "https://webassembly.org/roadmap/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled via the `javascript.options.wasm` in `about:config`",
                                                                         2 => "Can be enabled via the `#enable-webassembly` flag",
                                                                         3 => "Can be enabled via the Experimental JavaScript Features flag",
                                                                         4 => "Disabled for Firefox 52 ESR",
                                                                       },
                                                       spec         => "https://github.com/WebAssembly/spec",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 51 => "n d #2", 57 => "y" },
                                                                         edge    => { "5.5" => "n", "15" => "n d #3", "16" => "y" },
                                                                         firefox => { 2 => "n", 47 => "n d #1", 52 => "y #4", 53 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.0-11.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n d #1", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 38 => "n d #2", 44 => "y" },
                                                                         safari  => { "3.1" => "n", "11" => "y" },
                                                                         samsung => { "4" => "n", "7.2-7.4" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "WebAssembly",
                                                       ucprefix     => 0,
                                                     },
                "wasm-bigint"                     => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 5648655109324800,
                                                       description  => "An extension to the WebAssembly JS API for bidrectionally converting BigInts and 64-bit WebAssembly integer values",
                                                       keywords     => "webassembly,bigint,64bit",
                                                       links        => [
                                                                         {
                                                                           title => "Feature extension overview",
                                                                           url => "https://github.com/WebAssembly/JS-BigInt-integration",
                                                                         },
                                                                       ],
                                                       notes        => "Safari supported BigInt in version 14.1, but did not support BigInt64Array (which is also required for Emscripten's BigInt support) until version 15",
                                                       notes_by_num => {},
                                                       parent       => "wasm",
                                                       spec         => "https://webassembly.github.io/spec/js-api/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "u" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "u" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 85 => "y" },
                                                                         edge    => { "5.5" => "n", "85" => "y" },
                                                                         firefox => { 2 => "n", 78 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "14.5-14.8" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "u" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 71 => "y" },
                                                                         safari  => { "3.1" => "n", "14.1" => "y" },
                                                                         samsung => { "4" => "n", "14.0" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "WebAssembly BigInt to i64 conversion in JS API",
                                                       ucprefix     => 0,
                                                     },
                "wasm-bulk-memory"                => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 4590306448113664,
                                                       description  => "An extension to WebAssembly adding bulk memory operations and conditional segment initialization",
                                                       keywords     => "webassembly,bulk,memory,passive,segment",
                                                       links        => [
                                                                         {
                                                                           title => "Feature extension overview",
                                                                           url => "https://github.com/WebAssembly/bulk-memory-operations/blob/master/proposals/bulk-memory-operations/Overview.md",
                                                                         },
                                                                       ],
                                                       notes        => "Passive data segments/conditional segment initialization was also included by browsers with the threads extension",
                                                       notes_by_num => {},
                                                       parent       => "wasm",
                                                       spec         => "https://webassembly.github.io/spec/core/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "u" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "u" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 75 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 79 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "15.0-15.1" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "u" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 62 => "y" },
                                                                         safari  => { "3.1" => "n", "15" => "y" },
                                                                         samsung => { "11.1-11.2" => "y", "4" => "n" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "WebAssembly Bulk Memory Operations",
                                                       ucprefix     => 0,
                                                     },
                "wasm-multi-value"                => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 5192420329259008,
                                                       description  => "An extension to WebAssembly allowing instructions, blocks and functions to produce multiple result values",
                                                       keywords     => "webassembly,multi,value",
                                                       links        => [
                                                                         {
                                                                           title => "Feature extension overview",
                                                                           url => "https://github.com/WebAssembly/multi-value/blob/master/proposals/multi-value/Overview.md",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       parent       => "wasm",
                                                       spec         => "https://webassembly.github.io/spec/core/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "u" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "u" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 85 => "y" },
                                                                         edge    => { "5.5" => "n", "85" => "y" },
                                                                         firefox => { 2 => "n", 78 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "13.2" => "y" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "u" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 71 => "y" },
                                                                         safari  => { "3.1" => "n", "13.1" => "y" },
                                                                         samsung => { "4" => "n", "14.0" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "WebAssembly Multi-Value",
                                                       ucprefix     => 0,
                                                     },
                "wasm-mutable-globals"            => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 5754634769530880,
                                                       description  => "An extension to WebAssembly import and export of mutable global variables",
                                                       keywords     => "webassembly,mutable,globals",
                                                       links        => [
                                                                         {
                                                                           title => "Feature extension overview",
                                                                           url => "https://github.com/WebAssembly/mutable-global/blob/master/proposals/mutable-global/Overview.md",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       parent       => "wasm",
                                                       spec         => "https://webassembly.github.io/spec/core/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "u" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "u" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 74 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 61 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "12.0-12.1" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "u" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 60 => "y" },
                                                                         safari  => { "3.1" => "n", "12" => "y" },
                                                                         samsung => { "11.1-11.2" => "y", "4" => "n" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "WebAssembly Import/Export of Mutable Globals",
                                                       ucprefix     => 0,
                                                     },
                "wasm-nontrapping-fptoint"        => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 4611843511287808,
                                                       description  => "An extension to WebAssembly adding floating-point to integer conversion operators which saturate instead of trapping",
                                                       keywords     => "webassembly,nontrapping,saturating,float",
                                                       links        => [
                                                                         {
                                                                           title => "Feature extension overview",
                                                                           url => "https://github.com/WebAssembly/nontrapping-float-to-int-conversions/blob/main/proposals/nontrapping-float-to-int-conversion/Overview.md",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       parent       => "wasm",
                                                       spec         => "https://webassembly.github.io/spec/core/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "u" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "u" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 75 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 64 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "15.0-15.1" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "u" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 62 => "y" },
                                                                         safari  => { "3.1" => "n", "15" => "y" },
                                                                         samsung => { "11.1-11.2" => "y", "4" => "n" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "WebAssembly Non-trapping float-to-int Conversion",
                                                       ucprefix     => 0,
                                                     },
                "wasm-reference-types"            => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 5166497248837632,
                                                       description  => "An extension to WebAssembly allowing opaque references as first-class types, and multiple tables",
                                                       keywords     => "webassembly,reftypes,externref",
                                                       links        => [
                                                                         {
                                                                           title => "Feature extension overview",
                                                                           url => "https://github.com/WebAssembly/spec/blob/main/proposals/reference-types/Overview.md",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       parent       => "wasm",
                                                       spec         => "https://webassembly.github.io/spec/core/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "u" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "u" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 96 => "y" },
                                                                         edge    => { "5.5" => "n", "96" => "y" },
                                                                         firefox => { 2 => "n", 79 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "15.0-15.1" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "u" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 82 => "y" },
                                                                         safari  => { "3.1" => "n", "15" => "y" },
                                                                         samsung => { "4" => "n", "17.0" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "WebAssembly Reference Types",
                                                       ucprefix     => 0,
                                                     },
                "wasm-signext"                    => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 4961472689995776,
                                                       description  => "An extension to WebAssembly adding sign-extension operator instructions",
                                                       keywords     => "webassembly,sign,extension,signext",
                                                       links        => [
                                                                         {
                                                                           title => "Feature extension overview",
                                                                           url => "https://github.com/WebAssembly/sign-extension-ops/blob/master/proposals/sign-extension-ops/Overview.md",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       parent       => "wasm",
                                                       spec         => "https://webassembly.github.io/spec/core/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "u" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "u" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 74 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 62 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "14.5-14.8" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "u" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 62 => "y" },
                                                                         safari  => { "3.1" => "n", "14.1" => "y" },
                                                                         samsung => { "11.1-11.2" => "y", "4" => "n" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "WebAssembly Sign Extension Operators",
                                                       ucprefix     => 0,
                                                     },
                "wasm-simd"                       => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 6533147810332672,
                                                       description  => "An extension to WebAssembly adding 128-bit SIMD operations",
                                                       keywords     => "webassembly,SIMD,vector",
                                                       links        => [
                                                                         {
                                                                           title => "Feature extension overview",
                                                                           url => "https://github.com/WebAssembly/simd/blob/main/proposals/simd/SIMD.md",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       parent       => "wasm",
                                                       spec         => "https://webassembly.github.io/spec/core/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "u" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "u" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 91 => "y" },
                                                                         edge    => { "5.5" => "n", "91" => "y" },
                                                                         firefox => { 2 => "n", 89 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "16.4" => "y" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "u" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 77 => "y" },
                                                                         safari  => { "3.1" => "n", "16.4" => "y" },
                                                                         samsung => { "4" => "n", "16.0" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "WebAssembly SIMD",
                                                       ucprefix     => 0,
                                                     },
                "wasm-threads"                    => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 5724132452859904,
                                                       description  => "An extension to WebAssembly adding shared memory and atomic memory operations",
                                                       keywords     => "webassembly,threads,atomics,shared",
                                                       links        => [
                                                                         {
                                                                           title => "Feature extension overview",
                                                                           url => "https://github.com/WebAssembly/threads/blob/main/proposals/threads/Overview.md",
                                                                         },
                                                                       ],
                                                       notes        => "Threads support in browsers also includes passive data segments (from the bulk-memory extension)",
                                                       notes_by_num => {},
                                                       parent       => "wasm",
                                                       spec         => "https://webassembly.github.io/spec/core/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "u" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "u" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 74 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 79 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "14.5-14.8" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "u" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 62 => "y" },
                                                                         safari  => { "3.1" => "n", "14.1" => "y" },
                                                                         samsung => { "11.1-11.2" => "y", "4" => "n" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "WebAssembly Threads and Atomics",
                                                       ucprefix     => 0,
                                                     },
                "wav"                             => {
                                                       categories   => ["Other"],
                                                       description  => "Waveform Audio File Format, aka WAV or WAVE, a typically uncompressed audio format. ",
                                                       links        => [
                                                                         {
                                                                           title => "Wikipedia article",
                                                                           url => "https://en.wikipedia.org/wiki/WAV",
                                                                         },
                                                                       ],
                                                       notes        => "Support refers to this format's use in the `audio` element, not other conditions.",
                                                       notes_by_num => {},
                                                       parent       => "audio",
                                                       spec         => "http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/WAVE/WAVE.html",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "n", 8 => "y" },
                                                                         edge    => { "5.5" => "n", "12" => "y" },
                                                                         firefox => { "2" => "n", "3.5" => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "u", 11 => "y" },
                                                                         opera   => { "9" => "n", "10.5" => "y" },
                                                                         safari  => { "3.1" => "n", "4" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "Wav audio format",
                                                       ucprefix     => 0,
                                                     },
                "wbr-element"                     => {
                                                       categories   => ["HTML5"],
                                                       description  => "Represents an extra place where a line of text may optionally be broken.",
                                                       keywords     => "wbr,element,word,break,opportunity",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - Element wbr",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/wbr",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/semantics.html#the-wbr-element",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "2.3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "y", "8" => "n", "12" => "y" },
                                                                         firefox => { 2 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "u", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "n", 11 => "y" },
                                                                         opera   => { "9" => "u", "9.5-9.6" => "y" },
                                                                         safari  => { "3.1" => "u", "3.2" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "wbr (word break opportunity) element",
                                                       ucprefix     => 0,
                                                     },
                "web-animation"                   => {
                                                       categories   => ["DOM", "JS API"],
                                                       chrome_id    => "4854343836631040,5633748733263872",
                                                       description  => "Lets you create animations that are run in the browser, as well as inspect and manipulate animations created through declarative means like CSS.",
                                                       keywords     => "animate,element.animate,play,pause,reverse,finish,currentTime,startTime,playbackRate,playState,WAAPI",
                                                       links        => [
                                                                         {
                                                                           title => "HTML5 Rocks",
                                                                           url => "https://developer.chrome.com/blog/web-animations-element-animate-is-now-in-chrome-36/",
                                                                         },
                                                                         {
                                                                           title => "HTML5 Rocks",
                                                                           url => "https://developer.chrome.com/blog/new-web-animations-engine-in-blink-drives-css-animations-transitions/",
                                                                         },
                                                                         {
                                                                           title => "Current Firefox status",
                                                                           url => "https://birtles.github.io/areweanimatedyet/",
                                                                         },
                                                                         {
                                                                           title => "Polyfill",
                                                                           url => "https://github.com/web-animations/web-animations-js",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to basic support of `element.animate()`",
                                                                         2 => "Partial support refers to basic support of `element.animate()` and [playback control of AnimationPlayer](https://www.chromestatus.com/features/5633748733263872)",
                                                                         3 => "Partial support in Firefox is detailed in [Are we animated yet?](https://birtles.github.io/areweanimatedyet/)",
                                                                         4 => "Can be enabled via the \"Experimental Features\" developer menu",
                                                                         5 => "Does not support [composite modes](https://drafts.csswg.org/web-animations-1/#effect-composition)",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/web-animations/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "a #2" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 36 => "a #1", 39 => "a #2", 84 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "a #2", "84" => "y" },
                                                                         firefox => { 2 => "n", 33 => "a d #3", 47 => "a #3", 59 => "a #2", 75 => "y #5", 81 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "11.0-11.2" => "n d #4", "13.4-13.7" => "y #5", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "a #3", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 23 => "a #1", 26 => "a #2", 71 => "y" },
                                                                         safari  => { "3.1" => "n", "11" => "n d #4", "13.1" => "y #5", "15" => "y" },
                                                                         samsung => { "4" => "a #2", "14.0" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "Web Animations API",
                                                       ucprefix     => 0,
                                                     },
                "web-bluetooth"                   => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5264933985976320,
                                                       description  => "Allows web sites to communicate over GATT with nearby user-selected Bluetooth devices in a secure and privacy-preserving way.",
                                                       keywords     => "bluetooth,ble,iot,physicalweb,webbluetooth",
                                                       links        => [
                                                                         {
                                                                           title => "Intro",
                                                                           url => "https://developers.google.com/web/updates/2015/07/interact-with-ble-devices-on-the-web",
                                                                         },
                                                                         {
                                                                           title => "Samples",
                                                                           url => "https://googlechrome.github.io/samples/web-bluetooth/",
                                                                         },
                                                                         { title => "Demos", url => "https://github.com/WebBluetoothCG/demos" },
                                                                         {
                                                                           title => "Implementation Status",
                                                                           url => "https://github.com/WebBluetoothCG/web-bluetooth/blob/main/implementation-status.md",
                                                                         },
                                                                         {
                                                                           title => "Mozilla Specification Positions: Harmful",
                                                                           url => "https://mozilla.github.io/standards-positions/#web-bluetooth",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Available by enabling the \"Web Bluetooth\" experimental flag in `about:flags`. Currently support [varies by OS](https://github.com/WebBluetoothCG/web-bluetooth/blob/main/implementation-status.md)",
                                                                         2 => "Only in Opera Mobile",
                                                                         3 => "Available in [Origin Trials](https://developers.google.com/web/updates/2015/07/interact-with-ble-devices-on-the-web#available-for-origin-trials) for Chrome OS, Android M, and Mac",
                                                                         4 => "Currently support [varies by OS](https://github.com/WebBluetoothCG/web-bluetooth/blob/main/implementation-status.md#chrome)",
                                                                       },
                                                       spec         => "https://webbluetoothcg.github.io/web-bluetooth/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y #4" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "y #4" },
                                                                         baidu   => { "13.52" => "y #4" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 45 => "n d #1", 53 => "n d #1 #3", 56 => "y #4" },
                                                                         edge    => { "5.5" => "n", "79" => "y #4" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y #4" },
                                                                         opera   => { 9 => "n", 36 => "n d #1 #2", 40 => "n d #1 #3", 43 => "y #4" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { "4" => "n", "6.2-6.4" => "y" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Web Bluetooth",
                                                       ucprefix     => 0,
                                                     },
                "web-serial"                      => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 6577673212002304,
                                                       description  => "Allows communication with devices via a serial interface.",
                                                       keywords     => "navigator.serial",
                                                       links        => [
                                                                         {
                                                                           title => "Explainer",
                                                                           url => "https://github.com/WICG/serial/blob/main/EXPLAINER.md",
                                                                         },
                                                                         {
                                                                           title => "Read from and write to a serial port",
                                                                           url => "https://web.dev/serial/",
                                                                         },
                                                                         {
                                                                           title => "Mozilla position: harmful",
                                                                           url => "https://mozilla.github.io/standards-positions/#webserial",
                                                                         },
                                                                         {
                                                                           title => "WebKit position: opposed",
                                                                           url => "https://webkit.org/tracking-prevention/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://wicg.github.io/serial/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 78 => "n d", 89 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "n d", "89" => "y" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 65 => "n d", 76 => "y" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Web Serial API",
                                                       ucprefix     => 0,
                                                     },
                "web-share"                       => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5668769141620736,
                                                       description  => "A way to allow websites to invoke the native sharing capabilities of the host platform",
                                                       keywords     => "web share,share,share api,intents api,navigator.share,navigator.canShare",
                                                       links        => [
                                                                         {
                                                                           title => "Chrome post",
                                                                           url => "https://developers.google.com/web/updates/2016/10/navigator-share",
                                                                         },
                                                                         {
                                                                           title => "Hospodarets - Web Share API brings the native sharing capabilities to the browser",
                                                                           url => "https://blog.hospodarets.com/web-share-api",
                                                                         },
                                                                         {
                                                                           title => "Phil Nash - The Web Share API",
                                                                           url => "https://philna.sh/blog/2017/03/14/the-web-share-api/",
                                                                         },
                                                                         {
                                                                           title => "Mozilla bug #1312422: Consider experimental support for Web Share API",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1312422",
                                                                         },
                                                                         {
                                                                           title => "How to Use the Web Share API to Trigger the Native Dialog to Share Content & Pull Quotes",
                                                                           url => "https://love2dev.com/blog/webshare-api/",
                                                                         },
                                                                         {
                                                                           title => "Web.dev - Share like a native app with the Web Share API",
                                                                           url => "https://web.dev/web-share/",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1653481",
                                                                         },
                                                                         {
                                                                           title => "W3C Demo",
                                                                           url => "https://w3c.github.io/web-share/demos/share.html",
                                                                         },
                                                                         {
                                                                           title => "Chromium support bug for macOS",
                                                                           url => "https://bugs.chromium.org/p/chromium/issues/detail?id=1144920",
                                                                         },
                                                                         {
                                                                           title => "Web Share API on MDN",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Web_Share_API",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Implemented old [Web Intents](https://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview-respec.html)",
                                                                         2 => "[Android intent:// URLs](https://developer.chrome.com/docs/android/intents) can be used instead",
                                                                         3 => "Only supported on Windows",
                                                                         4 => "Only supported on Windows and Chrome OS",
                                                                         5 => "Did not support share click that would trigger a [fetch call](https://bugs.webkit.org/show_bug.cgi?id=197779)",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/web-share/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4.3-4.4.4" => "n #2" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 18 => "n #1", 25 => "n", 89 => "a #4", 128 => "y" },
                                                                         edge    => { "5.5" => "n", "81" => "a #3", "95" => "y" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "12.2-12.5" => "y #5", "14.0-14.4" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 114 => "y" },
                                                                         safari  => { "3.1" => "n", "12.1" => "y #5", "14" => "y" },
                                                                         samsung => { "4" => "n", "5.0-5.4" => "n #2", "8.2" => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "Web Share API",
                                                       ucprefix     => 0,
                                                     },
                "webauthn"                        => {
                                                       categories   => ["Security"],
                                                       chrome_id    => 5669923372138496,
                                                       description  => "The Web Authentication API is an extension of the Credential Management API that enables strong authentication with public key cryptography, enabling password-less authentication and / or secure second-factor authentication without SMS texts.",
                                                       keywords     => "fido,webauthn,webauthm",
                                                       links        => [
                                                                         {
                                                                           title => "Web Authentication on MDN Web Docs",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Web_Authentication_API",
                                                                         },
                                                                         {
                                                                           title => "Web Authentication and Windows Hello",
                                                                           url => "https://docs.microsoft.com/en-us/microsoft-edge/dev-guide/device/web-authentication",
                                                                         },
                                                                         {
                                                                           title => "Guide to Web Authentication",
                                                                           url => "https://webauthn.guide",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled at `about:flags`\r\n\r\nEdge 13 used an earlier draft syntax. As of Edge 14 the implementation is prefixed and based on the FIDO 2.0 Web APIs.",
                                                                         2 => "Can be enabled using the Develop > Experimental Features menu. Currently supports USB-based CTAP & CTAP2 HID devices.",
                                                                         3 => "Can be enabled in Settings under the Safari > Advanced > Experimental Features menu.",
                                                                         4 => "Partial support refers to FIDO2 devices not working in all operating systems if a PIN is set.",
                                                                         5 => "Experimental feature not yet enabled in WKWebView-based browsers including Chrome for iOS.",
                                                                         6 => "Partial support refers to TouchID not being supported.",
                                                                         7 => "Does not support direct attestations",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/webauthn/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "a #7" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 67 => "y" },
                                                                         edge    => { "5.5" => "n", "13" => "n d x #1", "18" => "y" },
                                                                         firefox => { 2 => "n", 60 => "a #4 #6", 114 => "a #6" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => {
                                                                                      "13.2" => "n d #3",
                                                                                      "13.3" => "a #4 #5",
                                                                                      "14.0-14.4" => "a #5",
                                                                                      "14.5-14.8" => "y",
                                                                                      "3.2" => "n",
                                                                                    },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 54 => "y" },
                                                                         safari  => { "3.1" => "n", "12.1" => "n d #2", "13" => "y" },
                                                                         samsung => { "4" => "n", "17.0" => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "Web Authentication API",
                                                       ucprefix     => 0,
                                                     },
                "webcodecs"                       => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5669293909868544,
                                                       description  => "API to provide more control over the encoding and decoding of audio, video, and images.",
                                                       keywords     => "VideoDecoder,AudioDecoder,VideoEncoder,AudioEncoder,EncodedAudioChunk,EncodedVideoChunk,AudioData,VideoFrame,VideoColorSpace,ImageDecoder,ImageTrackList,ImageTrack",
                                                       links        => [
                                                                         {
                                                                           title => "Explainer document",
                                                                           url => "https://github.com/w3c/webcodecs/blob/main/explainer.md",
                                                                         },
                                                                         {
                                                                           title => "Video processing with WebCodecs",
                                                                           url => "https://web.dev/webcodecs/",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=WebCodecs",
                                                                         },
                                                                         {
                                                                           title => "WebCodecs API on MDN",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/WebCodecs_API",
                                                                         },
                                                                         {
                                                                           title => "WebCodecs samples",
                                                                           url => "https://w3c.github.io/webcodecs/samples/",
                                                                         },
                                                                       ],
                                                       notes_by_num => { 1 => "Video-only support" },
                                                       spec         => "https://w3c.github.io/webcodecs/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 94 => "y" },
                                                                         edge    => { "5.5" => "n", "94" => "y" },
                                                                         firefox => { 2 => "n", 130 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "16.4" => "a #1" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 80 => "y" },
                                                                         safari  => { "16.4" => "a #1", "3.1" => "n", "TP" => "y" },
                                                                         samsung => { "4" => "n", "17.0" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "WebCodecs API",
                                                       ucprefix     => 0,
                                                     },
                "webgl"                           => {
                                                       categories   => ["Canvas"],
                                                       chrome_id    => 6049512976023552,
                                                       description  => "Method of generating dynamic 3D graphics using JavaScript, accelerated through hardware",
                                                       keywords     => "web gl",
                                                       links        => [
                                                                         {
                                                                           title => "Instructions on enabling WebGL",
                                                                           url => "https://get.webgl.org/get-a-webgl-implementation/",
                                                                         },
                                                                         {
                                                                           title => "Tutorial",
                                                                           url => "https://www.khronos.org/webgl/wiki/Tutorial",
                                                                         },
                                                                         {
                                                                           title => "Firefox blog post",
                                                                           url => "https://hacks.mozilla.org/2009/12/webgl-draft-released-today/",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for IE",
                                                                           url => "https://github.com/iewebgl/iewebgl",
                                                                         },
                                                                       ],
                                                       notes        => "WebGL support is dependent on GPU support and may not be available on older devices. This is due to the additional requirement for users to have [up to date video drivers](http://www.khronos.org/webgl/wiki/BlacklistsAndWhitelists).\r\n\r\nNote that WebGL is part of the [Khronos Group](http://www.khronos.org/webgl/), not the W3C.",
                                                       notes_by_num => {
                                                                         1 => "WebGL context is accessed from \"experimental-webgl\" rather than \"webgl\"",
                                                                       },
                                                       parent       => "canvas",
                                                       spec         => "https://www.khronos.org/registry/webgl/specs/1.0/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 8 => "y #1", 33 => "y" },
                                                                         edge    => { "5.5" => "n", "6" => "p", "11" => "y #1", "79" => "y" },
                                                                         firefox => { 2 => "n", 4 => "y #1", 24 => "y" },
                                                                         ie_mob  => { 10 => "p", 11 => "y #1" },
                                                                         ios_saf => { "3.2" => "n", "8" => "y" },
                                                                         kaios   => { "2.5" => "y #1", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 12 => "y" },
                                                                         opera   => { 9 => "n", 12 => "y #1", 19 => "y" },
                                                                         safari  => { "3.1" => "n", "5.1" => "y #1", "8" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "WebGL - 3D Canvas graphics",
                                                       ucprefix     => 0,
                                                     },
                "webgl2"                          => {
                                                       categories   => ["Canvas"],
                                                       chrome_id    => 6694359164518400,
                                                       description  => "Next version of WebGL. Based on OpenGL ES 3.0.",
                                                       keywords     => "web gl",
                                                       links        => [
                                                                         {
                                                                           title => "Firefox blog post",
                                                                           url => "https://blog.mozilla.org/futurereleases/2015/03/03/an-early-look-at-webgl-2/",
                                                                         },
                                                                         {
                                                                           title => "Getting a WebGL Implementation",
                                                                           url => "https://www.khronos.org/webgl/wiki/Getting_a_WebGL_Implementation",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled in Firefox by setting the about:config preference webgl.enable-prototype-webgl2 to true",
                                                                         2 => "WebGL2 context is accessed from \"experimental-webgl2\" rather than \"webgl2\"",
                                                                         3 => "Can be enabled in Chrome by passing the \"--enable-unsafe-es3-apis\" flag when starting the browser through the command line",
                                                                         4 => "Can be enabled in the \"Experimental Features\" developer menu",
                                                                         5 => "Enabled by default for Nightly and Dev Edition",
                                                                       },
                                                       parent       => "canvas",
                                                       spec         => "https://www.khronos.org/registry/webgl/specs/latest/2.0/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 43 => "n d #3", 56 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 25 => "n d #1 #2", 42 => "n d #1", 45 => "n d #1 #5", 51 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "12.0-12.1" => "n d #4", "15.0-15.1" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n d #1 #5", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 43 => "y" },
                                                                         safari  => { "3.1" => "n", "10.1" => "n d #4", "15" => "y" },
                                                                         samsung => { "4" => "n", "7.2-7.4" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "WebGL 2.0",
                                                       ucprefix     => 0,
                                                     },
                "webgpu"                          => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 6213121689518080,
                                                       description  => "An API for complex rendering and compute, using hardware acceleration. Use cases include demanding 3D games and acceleration of scientific calculations. Meant to supersede WebGL.",
                                                       links        => [
                                                                         {
                                                                           title => "Implementation status",
                                                                           url => "https://github.com/gpuweb/gpuweb/wiki/Implementation-Status",
                                                                         },
                                                                         {
                                                                           title => "Official Wiki",
                                                                           url => "https://github.com/gpuweb/gpuweb/wiki",
                                                                         },
                                                                         {
                                                                           title => "WebGPU test scene",
                                                                           url => "https://toji.github.io/webgpu-test/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Can be enabled in Firefox with the `dom.webgpu.enabled` flag.",
                                                                         2 => "Can be enabled in Safari with the `WebGPU` feature flag.",
                                                                         3 => "Can be enabled in some Chromium browsers (on Windows, MacOS, Linux) with the `enable-unsafe-webgpu` flag.",
                                                                         4 => "Part of an origin trial.",
                                                                         5 => "Not enabled on Linux by default.",
                                                                       },
                                                       spec         => "https://gpuweb.github.io/gpuweb/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n d #1" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 80 => "n d #3", 94 => "n d #3 #4", 113 => "y #5" },
                                                                         edge    => { "5.5" => "n", "80" => "n d #3", "94" => "n d #3 #4", "113" => "y" },
                                                                         firefox => { 2 => "n", 63 => "n d #1" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "17.4" => "n d #2" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "n d #1" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y #5" },
                                                                         opera   => { 9 => "n", 73 => "n d #3", 99 => "y #5" },
                                                                         safari  => { "11.1" => "n d #2", "15" => "n", "17.4" => "n d #2", "3.1" => "n", "TP" => "y" },
                                                                         samsung => { 4 => "n", 24 => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "WebGPU",
                                                       ucprefix     => 0,
                                                     },
                "webhid"                          => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5172464636133376,
                                                       description  => "Enables raw access to HID (Human Interface Device) commands for all connected HIDs. Previously, an HID could only be accessed if the browser had implemented a custom API for the specific device.",
                                                       keywords     => "hid,navigator.hid",
                                                       links        => [
                                                                         {
                                                                           title => "Human interface devices on the web: a few quick examples",
                                                                           url => "https://web.dev/hid-examples/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://wicg.github.io/webhid/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 78 => "n d", 89 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "n d", "89" => "y" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 66 => "n d", 76 => "y" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "WebHID API",
                                                       ucprefix     => 0,
                                                     },
                "webkit-user-drag"                => {
                                                       categories   => ["CSS"],
                                                       description  => "The non-standard `-webkit-user-drag` CSS property can be used to either make an element draggable or explicitly non-draggable (like links and images). See the standardized [draggable attribute/property](/mdn-api_htmlelement_draggable) for the recommended alternative method of accomplishing the same functionality.",
                                                       keywords     => "-webkit-user-drag:none,-webkit-user-drag:element,-webkit-user-drag:auto",
                                                       links        => [
                                                                         {
                                                                           title => "Reference",
                                                                           url => "https://css-infos.net/property/-webkit-user-drag",
                                                                         },
                                                                       ],
                                                       notes        => "Webkit and blink-based mobile browsers recognize the property but it does not appear to have any effect.\r\n\r\nThere is currently no unprefixed `user-drag` or other version of the property implemented in browsers or on a standards track as the HTML [draggable](/mdn-api_htmlelement_draggable) attribute/property is the preferred solution.",
                                                       notes_by_num => {
                                                                         1 => "`-webkit-user-drag: none` works, but `-webkit-user-drag: element` does not appear to have an effect.",
                                                                       },
                                                       spec         => "https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariCSSRef/Articles/StandardCSSProperties.html#//apple_ref/doc/uid/TP30001266--webkit-user-drag",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "u", 16 => "a #1" },
                                                                         edge    => { "5.5" => "n", "79" => "a #1" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "a #1" },
                                                                         opera   => { 9 => "n", 15 => "a #1" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "CSS -webkit-user-drag property",
                                                       ucprefix     => 0,
                                                     },
                "webm"                            => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 6362186595172352,
                                                       description  => "Multimedia format designed to provide a royalty-free, high-quality open video compression format for use with HTML5 video. WebM supports the video codec VP8 and VP9.",
                                                       keywords     => "matroska",
                                                       links        => [
                                                                         { title => "Official website", url => "https://www.webmproject.org" },
                                                                         {
                                                                           title => "Wikipedia article",
                                                                           url => "https://en.wikipedia.org/wiki/WebM",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Older browser versions did not support all codecs.",
                                                                         2 => "Older Edge versions did not support progressive sources.",
                                                                         3 => "Can be enabled in Internet Explorer and Safari for MacOS by manually installing the codecs in the operating system.",
                                                                         4 => "Supports [VP8 codec used in WebRTC](https://webkit.org/blog/8672).",
                                                                         5 => "Supports [VP9 codec used in WebRTC](https://webkit.org/blog/10929) (off by default.)",
                                                                         6 => "Supports [VP9 WebM used in MediaSource](https://bugs.webkit.org/show_bug.cgi?id=216652#c1) on [macOS Big Sur or later.](https://trac.webkit.org/changeset/264747/webkit)",
                                                                         7 => "Safari 14.1 \x{2013} 15.6 has full support of WebM, but requires macOS 11.3 Big Sur or later.",
                                                                       },
                                                       parent       => "video",
                                                       spec         => "https://www.webmproject.org",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "2.3" => "a #1", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 6 => "a #1", 25 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "p #3", "12" => "p", "14" => "a #1 #2", "79" => "y" },
                                                                         firefox => { 2 => "n", 4 => "a #1", 28 => "y" },
                                                                         ie_mob  => { 10 => "p" },
                                                                         ios_saf => {
                                                                                      "12.2-12.5" => "a #4",
                                                                                      "14.0-14.4" => "a #4 #5",
                                                                                      "17.4" => "y",
                                                                                      "3.2" => "n",
                                                                                    },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { "9" => "n", "10.6" => "a #1", "16" => "y" },
                                                                         safari  => {
                                                                                      "3.1"  => "n",
                                                                                      "3.2"  => "p",
                                                                                      "6"    => "p #3",
                                                                                      "12.1" => "a #4",
                                                                                      "14"   => "a #4 #5 #6",
                                                                                      "14.1" => "a #7",
                                                                                      "16.0" => "y",
                                                                                    },
                                                                         samsung => { "4" => "a #1", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "WebM video format",
                                                       ucprefix     => 0,
                                                     },
                "webnfc"                          => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 6261030015467520,
                                                       description  => "This API allows a website to communicate with NFC tags through a device's NFC reader.",
                                                       keywords     => "NDEF,NDEFReader,NDEFWriter",
                                                       links        => [
                                                                         {
                                                                           title => "Safari position: Opposed",
                                                                           url => "https://lists.webkit.org/pipermail/webkit-dev/2020-January/031007.html",
                                                                         },
                                                                         {
                                                                           title => "Firefox position: Harmful",
                                                                           url => "https://mozilla.github.io/standards-positions/#web-nfc",
                                                                         },
                                                                         {
                                                                           title => "Web.dev article on using WebNFC",
                                                                           url => "https://web.dev/nfc/",
                                                                         },
                                                                       ],
                                                       notes        => "Many devices are not equipped with NFC readers. They won't return any data, even though an installed browser might support this API.",
                                                       notes_by_num => {
                                                                         1 => "Was experimentally supported in desktop Chromium browsers behind the `enable-experimental-web-platform-features` flag.",
                                                                         2 => "Current implementations only allow communication through the NDEF protocol in order to minimize security and privacy issues.",
                                                                       },
                                                       spec         => "https://w3c.github.io/web-nfc/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 80 => "n d #1 #2", 89 => "n" },
                                                                         edge    => { "5.5" => "n", "80" => "n d #1 #2", "89" => "n" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 67 => "n d #1 #2", 76 => "n" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "Web NFC",
                                                       ucprefix     => 0,
                                                     },
                "webp"                            => {
                                                       categories   => ["Other"],
                                                       chrome_id    => "6471725441089536,4785074604081152",
                                                       description  => "Image format (based on the VP8 video format) that supports lossy and lossless compression, as well as animation and alpha transparency. WebP generally has better compression than JPEG, PNG and GIF and is designed to supersede them. [AVIF](/avif) and [JPEG XL](/jpegxl) are designed to supersede WebP.",
                                                       keywords     => "vp8,vp8l,libwebp,.webp",
                                                       links        => [
                                                                         {
                                                                           title => "Official website",
                                                                           url => "https://developers.google.com/speed/webp/",
                                                                         },
                                                                         {
                                                                           title => "Official website FAQ - Which web browsers natively support WebP?",
                                                                           url => "https://developers.google.com/speed/webp/faq#which_web_browsers_natively_support_webp",
                                                                         },
                                                                         {
                                                                           title => "Bitsofcode - Why and how to use WebP images today",
                                                                           url => "https://bitsofco.de/why-and-how-to-use-webp-images-today/",
                                                                         },
                                                                         {
                                                                           title => "WebP decoder and encoder",
                                                                           url => "https://github.com/webmproject/libwebp",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to not supporting lossless, alpha and animated WebP images.",
                                                                         2 => "Partial support refers to not supporting animated WebP images.",
                                                                         3 => "Safari 14.0 \x{2013} 15.6 has full support of WebP, but requires macOS 11 Big Sur or later.",
                                                                       },
                                                       spec         => "https://developers.google.com/speed/webp/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4" => "a #1", "4.2-4.3" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 6 => "p", 9 => "a #1", 23 => "a #2", 32 => "y" },
                                                                         edge    => { "5.5" => "n", "18" => "y" },
                                                                         firefox => { 2 => "n", 4 => "p", 65 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "14.0-14.4" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "p", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { "10" => "n", "11" => "a #1", "11.1" => "y" },
                                                                         opera   => { "9" => "n", "10.6" => "p", "11.1" => "a #1", "12" => "a #2", "19" => "y" },
                                                                         safari  => { "3.1" => "n", "14" => "a #3", "16.0" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "other",
                                                       title        => "WebP image format",
                                                       ucprefix     => 0,
                                                     },
                "websockets"                      => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 6555138000945152,
                                                       description  => "Bidirectional communication technology for web apps",
                                                       links        => [
                                                                         {
                                                                           title => "Details on newer protocol",
                                                                           url => "https://developer.chrome.com/blog/what-s-different-in-the-new-websocket-protocol/",
                                                                         },
                                                                         {
                                                                           title => "Wikipedia",
                                                                           url => "https://en.wikipedia.org/wiki/WebSocket",
                                                                         },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-websockets",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/apis/websocket",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - WebSockets API",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API",
                                                                         },
                                                                       ],
                                                       notes        => "Reported to be supported in some Android 4.x browsers, including Sony Xperia S, Sony TX and HTC.",
                                                       notes_by_num => {
                                                                         1 => "Partial support in older browsers refers to the websockets implementation using an older version of the protocol and/or the implementation being disabled by default (due to security issues with the older protocol).",
                                                                         2 => "Partial support in older browsers refers to lacking support for binary data.",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/comms.html#network",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y #1", 10 => "y" },
                                                                         chrome  => { 4 => "a #1", 15 => "a #2", 16 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "n", 4 => "a #1", 6 => "a x #2", 11 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "4.2-4.3" => "a #1", "6.0-6.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "n", "11" => "a #1", "12.1" => "y" },
                                                                         opera   => { "9" => "n", "11" => "a #1", "12.1" => "y" },
                                                                         safari  => { "3.1" => "n", "5" => "a #1", "6" => "a #2", "7" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Web Sockets",
                                                       ucprefix     => 1,
                                                     },
                "webtransport"                    => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 4854144902889472,
                                                       description  => "Protocol framework to send and receive data from servers using [HTTP3](/http3). Similar to [WebSockets](/websockets) but with support for multiple streams, unidirectional streams, out-of-order delivery, and reliable as well as unreliable transport.",
                                                       links        => [
                                                                         { title => "web.dev article", url => "https://web.dev/webtransport/" },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=1709355",
                                                                         },
                                                                         {
                                                                           title => "Explainer with examples",
                                                                           url => "https://github.com/w3c/webtransport/blob/main/explainer.md",
                                                                         },
                                                                         {
                                                                           title => "WebKit position on WebTransport",
                                                                           url => "https://github.com/WebKit/standards-positions/issues/18",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://w3c.github.io/webtransport/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 91 => "n d", 95 => "n", 97 => "y" },
                                                                         edge    => { "5.5" => "n", "98" => "y" },
                                                                         firefox => { 2 => "n", 114 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 83 => "y" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { "4" => "n", "18.0" => "y" },
                                                                       },
                                                       status       => "wd",
                                                       title        => "WebTransport",
                                                       ucprefix     => 0,
                                                     },
                "webusb"                          => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5651917954875392,
                                                       description  => "Allows communication with devices via USB (Universal Serial Bus).",
                                                       links        => [
                                                                         {
                                                                           title => "Google Developers article",
                                                                           url => "https://developers.google.com/web/updates/2016/03/access-usb-devices-on-the-web",
                                                                         },
                                                                         {
                                                                           title => "Mozilla Specification Positions: Harmful",
                                                                           url => "https://mozilla.github.io/standards-positions/#webusb",
                                                                         },
                                                                       ],
                                                       notes_by_num => {},
                                                       spec         => "https://wicg.github.io/webusb/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 54 => "n d", 61 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 41 => "n d", 48 => "y" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { "4" => "n", "8.2" => "y" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "WebUSB",
                                                       ucprefix     => 0,
                                                     },
                "webvr"                           => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 4532810371039232,
                                                       description  => "API for accessing virtual reality (VR) devices, including sensors and head-mounted displays. Replaced by the [WebXR Device API](/webxr).",
                                                       keywords     => "getvrdevices,getvrdisplays,getdisplays,navigator.vr",
                                                       links        => [
                                                                         {
                                                                           title => "Detailed device support information",
                                                                           url => "https://webvr.rocks/",
                                                                         },
                                                                         {
                                                                           title => "WebVR polyfill",
                                                                           url => "https://github.com/googlevr/webvr-polyfill",
                                                                         },
                                                                         { title => "WebVR framework", url => "https://aframe.io" },
                                                                         { title => "WebVR info", url => "https://webvr.info/" },
                                                                         {
                                                                           title => "MDN Web Docs - WebVR API",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/WebVR_API",
                                                                         },
                                                                         {
                                                                           title => "Chrome Platform Status for WebXR Device API",
                                                                           url => "https://www.chromestatus.com/feature/5680169905815552",
                                                                         },
                                                                       ],
                                                       notes        => "For a WebVR experience a head mounted display (VR HMD) is required.",
                                                       notes_by_num => {
                                                                         1 => "Available and enabled by default only in Firefox Windows. Enabled in Nightly for iOS. Firefox 73+ [requires a secure context using HTTPS](https://developer.mozilla.org/en-US/docs/Web/API/WebVR_API#API_availability)",
                                                                         2 => "[Was in development](https://blogs.windows.com/msedgedev/2016/09/09/webvr-in-development-edge/#3lMW05DTZXbXcK46.97) in the latest Edge builds and supported only [Windows Mixed Reality](https://developer.microsoft.com/en-us/windows/mixed-reality).",
                                                                         3 => "Supports only Samsung Galaxy devices with the Samsung Gear VR",
                                                                       },
                                                       spec         => "https://w3c.github.io/webvr/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 57 => "n d", 80 => "n" },
                                                                         edge    => { "5.5" => "n", "15" => "y #2", "79" => "n d", "80" => "n" },
                                                                         firefox => { 2 => "n", 54 => "n d #1", 55 => "y #1" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 44 => "n d", 67 => "n" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { "4" => "y #3", "5.0-5.4" => "a #3" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "WebVR API",
                                                       ucprefix     => 0,
                                                     },
                "webvtt"                          => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 6719115557339136,
                                                       description  => "Format for marking up text captions for multimedia resources.",
                                                       keywords     => "captions,track,vtt,subtitles",
                                                       links        => [
                                                                         {
                                                                           title => "Getting Started With the Track Element",
                                                                           url => "https://www.html5rocks.com/en/tutorials/track/basics/",
                                                                         },
                                                                         {
                                                                           title => "An Introduction to WebVTT and track",
                                                                           url => "https://dev.opera.com/articles/view/an-introduction-to-webvtt-and-track/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - WebVTT",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/WebVTT_API",
                                                                         },
                                                                       ],
                                                       notes        => "WebVTT must be used with the [<track> element](/mdn-html_elements_track).",
                                                       notes_by_num => {
                                                                         1 => "Firefox 31 - 54 lacks support for the `::cue` pseudo-element. [See bug #865395.](https://bugzilla.mozilla.org/show_bug.cgi?id=865395)",
                                                                         2 => "Firefox 55+ implements `::cue` but still lacks support for the `::cue(<selector>)` pseudo-element with selector. [See bug #1321489.](https://bugzilla.mozilla.org/show_bug.cgi?id=1321489)",
                                                                       },
                                                       parent       => "video",
                                                       spec         => "https://w3c.github.io/webvtt/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n", 10 => "y" },
                                                                         chrome  => { 4 => "n", 23 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "y" },
                                                                         firefox => { 2 => "n", 24 => "n d", 31 => "y #1", 55 => "y #2" },
                                                                         ie_mob  => { 10 => "n", 11 => "y" },
                                                                         ios_saf => { "3.2" => "n", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "y #1" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "y" },
                                                                         safari  => { "3.1" => "n", "6" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "WebVTT - Web Video Text Tracks",
                                                       ucprefix     => 0,
                                                     },
                "webworkers"                      => {
                                                       categories => ["JS API"],
                                                       description => "Method of running scripts in the background, isolated from the web page",
                                                       links => [
                                                         {
                                                           title => "MDN Web Docs - Using Web Workers",
                                                           url => "https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers",
                                                         },
                                                         {
                                                           title => "Web Worker demo",
                                                           url => "https://nerget.com/rayjs-mt/rayjs.html",
                                                         },
                                                         {
                                                           title => "Polyfill for IE (single threaded)",
                                                           url => "https://code.google.com/archive/p/ie-web-worker/",
                                                         },
                                                         {
                                                           title => "Tutorial",
                                                           url => "https://code.tutsplus.com/tutorials/getting-started-with-web-workers--net-27667",
                                                         },
                                                       ],
                                                       notes_by_num => {},
                                                       spec => "https://html.spec.whatwg.org/multipage/workers.html",
                                                       stats => {
                                                         and_chr => { "2.1" => "y", "2.2" => "n", "4.4" => "y" },
                                                         and_ff  => { 137 => "y" },
                                                         and_qq  => { "14.9" => "y" },
                                                         and_uc  => { "15.5" => "y" },
                                                         baidu   => { "13.52" => "y" },
                                                         bb      => { 7 => "y" },
                                                         chrome  => { 4 => "y" },
                                                         edge    => { "5.5" => "n", "6" => "p", "10" => "y" },
                                                         firefox => { "2" => "p", "3.5" => "y" },
                                                         ie_mob  => { 10 => "y" },
                                                         ios_saf => { "3.2" => "n", "5.0-5.1" => "y" },
                                                         kaios   => { "2.5" => "y" },
                                                         op_mini => { all => "n" },
                                                         op_mob  => { 10 => "p", 11 => "y" },
                                                         opera   => { "10.0-10.1" => "p", "10.6" => "y", "9" => "n" },
                                                         safari  => { "3.1" => "p", "4" => "y" },
                                                         samsung => { 4 => "y" },
                                                       },
                                                       status => "ls",
                                                       title => "Web Workers",
                                                       ucprefix => 0,
                                                     },
                "webxr"                           => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 5680169905815552,
                                                       description  => "API for accessing virtual reality (VR) and augmented reality (AR) devices, including sensors and head-mounted displays.",
                                                       keywords     => "navigator.xr",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - WebXR Device API",
                                                                           url => "https://developer.mozilla.org/docs/Web/API/WebXR_Device_API",
                                                                         },
                                                                         {
                                                                           title => "Immersive Web - WebXR samples",
                                                                           url => "https://immersive-web.github.io/webxr-samples/",
                                                                         },
                                                                         {
                                                                           title => "Safari implementation bug",
                                                                           url => "https://bugs.webkit.org/show_bug.cgi?id=208988",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "This API is very extensive. Many of its features are still in development and/or don't have finalised specs yet.",
                                                                         2 => "Can be enabled in Firefox behind the `dom.vr.webxr.enabled` flag.",
                                                                         3 => "Can be enabled in Safari with the `WebXR Device API` experimental feature.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/webxr/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n" },
                                                                         and_ff  => { 137 => "n d #2" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 65 => "n d", 79 => "a #1" },
                                                                         edge    => { "5.5" => "n", "79" => "a #1" },
                                                                         firefox => { 2 => "n", 77 => "n d #2" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n", "3.0-3.1" => "n d #2" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "a #1" },
                                                                         opera   => { 9 => "n", 52 => "n d", 66 => "a #1" },
                                                                         safari  => { "3.1" => "n", "13" => "n d #3" },
                                                                         samsung => { "4" => "n", "12.0" => "a #1" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "WebXR Device API",
                                                       ucprefix     => 0,
                                                     },
                "will-change"                     => {
                                                       categories   => ["CSS"],
                                                       chrome_id    => 5954199330226176,
                                                       description  => "Method of optimizing animations by informing the browser which elements will change and what properties will change.",
                                                       keywords     => "scroll-position",
                                                       links        => [
                                                                         {
                                                                           title => "Detailed article",
                                                                           url => "https://dev.opera.com/articles/css-will-change-property/",
                                                                         },
                                                                         {
                                                                           title => "Blog post",
                                                                           url => "https://aerotwist.com/blog/bye-bye-layer-hacks/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - will-change",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/will-change",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Supported in Firefox behind the `layout.css.will-change.enabled` flag",
                                                                       },
                                                       spec         => "https://w3c.github.io/csswg-drafts/css-will-change/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 36 => "y" },
                                                                         edge    => { "5.5" => "n", "79" => "y" },
                                                                         firefox => { 2 => "n", 29 => "n d #1", 36 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n", "9.3" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 24 => "y" },
                                                                         safari  => { "3.1" => "n", "9.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS will-change property",
                                                       ucprefix     => 0,
                                                     },
                "woff"                            => {
                                                       categories   => ["Other"],
                                                       description  => "Compressed TrueType/OpenType font that contains information about the font's source.",
                                                       keywords     => ".woff",
                                                       links        => [
                                                                         {
                                                                           title => "Mozilla hacks blog post",
                                                                           url => "https://hacks.mozilla.org/2009/10/woff/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Reported to be supported in some modified versions of the Android 4.0 browser.",
                                                                       },
                                                       parent       => "fontface",
                                                       spec         => "https://www.w3.org/TR/WOFF/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "4" => "n #1", "4.1" => "n", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "n", 5 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                                         firefox => { "2" => "n", "3.6" => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "n", "5.0-5.1" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 11 => "y" },
                                                                         opera   => { "9" => "n", "11.1" => "y" },
                                                                         safari  => { "3.1" => "n", "5.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "WOFF - Web Open Font Format",
                                                       ucprefix     => 0,
                                                     },
                "woff2"                           => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 6718644721549312,
                                                       description  => "TrueType/OpenType font that provides better compression than WOFF 1.0.",
                                                       keywords     => ".woff2,fontface,webfonts",
                                                       links        => [
                                                                         {
                                                                           title => "Basics about WOFF 2.0",
                                                                           url => "https://gist.github.com/sergejmueller/cf6b4f2133bcb3e2f64a",
                                                                         },
                                                                         {
                                                                           title => "WOFF 2.0 converter",
                                                                           url => "https://everythingfonts.com/ttf-to-woff2",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Supported only on Safari for Mac OS Sierra, not El Capitan & older.",
                                                                       },
                                                       parent       => "fontface",
                                                       spec         => "https://www.w3.org/TR/WOFF2/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 36 => "y" },
                                                                         edge    => { "5.5" => "n", "14" => "y" },
                                                                         firefox => { 2 => "n", 39 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "10.0-10.2" => "y", "3.2" => "n" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 23 => "y" },
                                                                         safari  => { "3.1" => "n", "10" => "a #1", "12" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "rec",
                                                       title        => "WOFF 2.0 - Web Open Font Format",
                                                       ucprefix     => 0,
                                                     },
                "word-break"                      => {
                                                       categories   => ["CSS3"],
                                                       description  => "Property to prevent or allow words to be broken over multiple lines between letters.",
                                                       keywords     => "break-all,keep-all",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - CSS word-break",
                                                                           url => "https://developer.mozilla.org/en/CSS/word-break",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/properties/word-break",
                                                                         },
                                                                       ],
                                                       notes        => "Partial support refers to supporting the `break-all` value, but not the `keep-all` value.\r\n\r\nChrome, Safari and other WebKit/Blink browsers also support the unofficial `break-word` value which is treated like `word-wrap: break-word`.",
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/css3-text/#word-break",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a" },
                                                                         chrome  => { 4 => "a", 44 => "y" },
                                                                         edge    => { "5.5" => "y" },
                                                                         firefox => { 2 => "n", 15 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "a", "9.0-9.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 80 => "y" },
                                                                         opera   => { 9 => "n", 15 => "a", 31 => "y" },
                                                                         safari  => { "3.1" => "a", "9" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS3 word-break",
                                                       ucprefix     => 0,
                                                     },
                "wordwrap"                        => {
                                                       categories   => ["CSS3"],
                                                       description  => "Allows lines to be broken within words if an otherwise unbreakable string is too long to fit. Currently mostly supported using the `word-wrap` property.",
                                                       keywords     => "wordwrap,word-wrap,break-word",
                                                       links        => [
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/css/properties/word-wrap",
                                                                         },
                                                                         {
                                                                           title => "Bug on Firefox support",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=955857",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - CSS overflow-wrap",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-wrap",
                                                                         },
                                                                       ],
                                                       notes        => "Partial support refers to requiring the legacy name \"word-wrap\" (rather than \"overflow-wrap\") to work.",
                                                       notes_by_num => {},
                                                       spec         => "https://www.w3.org/TR/css3-text/#overflow-wrap",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a", 10 => "y" },
                                                                         chrome  => { 4 => "a", 23 => "y" },
                                                                         edge    => { "5.5" => "a", "18" => "y" },
                                                                         firefox => { "2" => "n", "3.5" => "a", "49" => "y" },
                                                                         ie_mob  => { 10 => "a" },
                                                                         ios_saf => { "3.2" => "a", "7.0-7.1" => "y" },
                                                                         kaios   => { "2.5" => "a", "3.0-3.1" => "y" },
                                                                         op_mini => { all => "a" },
                                                                         op_mob  => { 10 => "a", 80 => "y" },
                                                                         opera   => { "9" => "n", "10.5" => "a", "12.1" => "y" },
                                                                         safari  => { "3.1" => "a", "6.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "CSS3 Overflow-wrap",
                                                       ucprefix     => 0,
                                                     },
                "x-doc-messaging"                 => {
                                                       categories   => ["JS API"],
                                                       chrome_id    => 4786174115708928,
                                                       description  => "Method of sending information from a page on one domain to a page on a different one (using postMessage)",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - window.postMessage",
                                                                           url => "https://developer.mozilla.org/en/DOM/window.postMessage",
                                                                         },
                                                                         {
                                                                           title => "Simple demo",
                                                                           url => "https://html5demos.com/postmessage2",
                                                                         },
                                                                         {
                                                                           title => "has.js test",
                                                                           url => "https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-crosswindowmessaging",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/apis/web-messaging/MessagePort/postMessage",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to only working in frames/iframes (not other tabs/windows). Also, objects cannot be sent using postMessage.",
                                                                         2 => "Partial support refers to [limitations in certain conditions](https://stackoverflow.com/questions/16226924/is-cross-origin-postmessage-broken-in-ie10).",
                                                                       },
                                                       spec         => "https://html.spec.whatwg.org/multipage/comms.html#crossDocumentMessages",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "8" => "a #1", "10" => "a #2", "12" => "y" },
                                                                         firefox => { 2 => "n", 3 => "y" },
                                                                         ie_mob  => { 10 => "a" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { "9" => "n", "9.5-9.6" => "y" },
                                                                         safari  => { "3.1" => "n", "4" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "Cross-document messaging",
                                                       ucprefix     => 0,
                                                     },
                "x-frame-options"                 => {
                                                       categories   => ["Security"],
                                                       chrome_id    => 5760041927835648,
                                                       description  => "An HTTP header which indicates whether the browser should allow the webpage to be displayed in a frame within another webpage. Used as a defense against clickjacking attacks.",
                                                       keywords     => "x-frame-options,frame,options,header,clickjacking",
                                                       links        => [
                                                                         {
                                                                           title => "X-Frame-Options Compatibility Test",
                                                                           url => "https://erlend.oftedal.no/blog/tools/xframeoptions/",
                                                                         },
                                                                         {
                                                                           title => "MDN Web Docs - X-Frame-Options",
                                                                           url => "https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options",
                                                                         },
                                                                         {
                                                                           title => "OWASP Clickjacking Defense Cheat Sheet",
                                                                           url => "https://www.owasp.org/index.php/Clickjacking_Defense_Cheat_Sheet",
                                                                         },
                                                                         {
                                                                           title => "Combating ClickJacking With X-Frame-Options - IEInternals",
                                                                           url => "https://blogs.msdn.microsoft.com/ieinternals/2010/03/30/combating-clickjacking-with-x-frame-options/",
                                                                         },
                                                                         {
                                                                           title => "IE8 Security Part VII: ClickJacking Defenses - IEBlog",
                                                                           url => "https://blogs.msdn.microsoft.com/ie/2009/01/27/ie8-security-part-vii-clickjacking-defenses/",
                                                                         },
                                                                       ],
                                                       notes        => "Partial support refers to not supporting the `ALLOW-FROM` option.\r\nThe `X-Frame-Options` header has been obsoleted by [the `frame-ancestors` directive](https://www.w3.org/TR/CSP2/#directive-frame-ancestors) from Content Security Policy Level 2.",
                                                       notes_by_num => {},
                                                       spec         => "https://tools.ietf.org/html/rfc7034",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "u", "4" => "a" },
                                                                         and_ff  => { 137 => "a" },
                                                                         and_qq  => { "14.9" => "a" },
                                                                         and_uc  => { "15.5" => "a" },
                                                                         baidu   => { "13.52" => "a" },
                                                                         bb      => { 7 => "a" },
                                                                         chrome  => { 4 => "u", 26 => "a" },
                                                                         edge    => { "5.5" => "n", "8" => "y", "79" => "a" },
                                                                         firefox => { 2 => "u", 4 => "a", 18 => "y", 70 => "a" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "u", "7.0-7.1" => "a" },
                                                                         kaios   => { "2.5" => "y", "3.0-3.1" => "a" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { "10" => "u", "12.1" => "a" },
                                                                         opera   => { "9" => "u", "11.6" => "a" },
                                                                         safari  => { "3.1" => "u", "5.1" => "a" },
                                                                         samsung => { 4 => "a" },
                                                                       },
                                                       status       => "other",
                                                       title        => "X-Frame-Options HTTP header",
                                                       ucprefix     => 0,
                                                     },
                "xhr2"                            => {
                                                       categories   => ["DOM", "JS API"],
                                                       description  => "Updated functionality to the original XHR specification including things like file uploads, transfer progress information and the ability to send FormData. Previously known as [XMLHttpRequest Level 2](https://www.w3.org/TR/2012/WD-XMLHttpRequest-20120117/), these features now appear simply in the XMLHttpRequest spec.",
                                                       keywords     => "xhr level 2",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - FormData",
                                                                           url => "https://developer.mozilla.org/en/XMLHttpRequest/FormData",
                                                                         },
                                                                         {
                                                                           title => "Polyfill for FormData object",
                                                                           url => "https://github.com/jimmywarting/FormData",
                                                                         },
                                                                         {
                                                                           title => "WebPlatform Docs",
                                                                           url => "https://webplatform.github.io/docs/apis/xhr/XMLHttpRequest",
                                                                         },
                                                                       ],
                                                       notes        => "See also support for the [FormData API](/mdn-api_formdata) and its sub-features, which received more updates since the original XHR Level 2 specification was released.",
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to not supporting `json` as `responseType`",
                                                                         2 => "Partial support refers to not supporting `.timeout` and `.ontimeout`",
                                                                         3 => "Partial support refers to not supporting `blob` as `responseType`",
                                                                         4 => "Partial support refers to missing some newer `FormData` functionality (search for specific APIs for details).",
                                                                       },
                                                       spec         => "https://xhr.spec.whatwg.org/",
                                                       stats        => {
                                                                         and_chr => {
                                                                                      "135" => "y",
                                                                                      "2.1" => "n",
                                                                                      "3" => "a #1 #2 #3 #4",
                                                                                      "4.4" => "a #1 #2 #4",
                                                                                      "4.4.3-4.4.4" => "a #4",
                                                                                    },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a #1 #2 #4", 10 => "a #1 #4" },
                                                                         chrome  => { 4 => "u", 7 => "a #1 #2 #4", 29 => "a #1 #4", 31 => "a #4", 50 => "y" },
                                                                         edge    => { "5.5" => "n", "10" => "a #1 #4", "12" => "a #4", "79" => "y" },
                                                                         firefox => {
                                                                                      "2"   => "n",
                                                                                      "3.5" => "a #1 #2 #3 #4",
                                                                                      "6"   => "a #1 #2 #4",
                                                                                      "10"  => "a #2 #4",
                                                                                      "12"  => "a #4",
                                                                                      "47"  => "y",
                                                                                    },
                                                                         ie_mob  => { 10 => "a #1 #4" },
                                                                         ios_saf => {
                                                                                      "11.0-11.2" => "y",
                                                                                      "3.2" => "n",
                                                                                      "5.0-5.1" => "a #1 #2 #4",
                                                                                      "7.0-7.1" => "a #1 #4",
                                                                                      "8" => "a #4",
                                                                                    },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n", 12 => "a #4", 80 => "y" },
                                                                         opera   => { 9 => "n", 12 => "a #4", 15 => "a #1", 18 => "a #4", 37 => "y" },
                                                                         safari  => {
                                                                                      "3.1"  => "n",
                                                                                      "5"    => "a #1 #2 #4",
                                                                                      "6.1"  => "a #1 #4",
                                                                                      "7.1"  => "a #4",
                                                                                      "11.1" => "y",
                                                                                    },
                                                                         samsung => { "4" => "a #4", "5.0-5.4" => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "XMLHttpRequest advanced features",
                                                       ucprefix     => 0,
                                                     },
                "xhtml"                           => {
                                                       categories   => ["Other"],
                                                       description  => "A strict form of HTML, and allows embedding of other XML languages",
                                                       keywords     => "xhtml+xml",
                                                       links        => [
                                                                         { title => "Wikipedia", url => "https://en.wikipedia.org/wiki/XHTML" },
                                                                         {
                                                                           title => "Information on XHTML5",
                                                                           url => "http://www.xmlplease.com/xhtml/xhtml5polyglot/",
                                                                         },
                                                                       ],
                                                       notes        => "The XHTML syntax is very close to HTML, and thus is almost always ([incorrectly](https://developer.mozilla.org/en-US/docs/XHTML#MIME_type_versus_DOCTYPE)) served as text/html on the web.",
                                                       notes_by_num => {},
                                                       spec         => "https://html.spec.whatwg.org/multipage/xhtml.html#the-xhtml-syntax",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "y" },
                                                                         chrome  => { 4 => "y" },
                                                                         edge    => { "5.5" => "n", "9" => "y" },
                                                                         firefox => { 2 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "y" },
                                                                         op_mob  => { 10 => "y" },
                                                                         opera   => { 9 => "y" },
                                                                         safari  => { "3.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "ls",
                                                       title        => "XHTML served as application/xhtml+xml",
                                                       ucprefix     => 0,
                                                     },
                "xhtmlsmil"                       => {
                                                       categories   => ["Other"],
                                                       description  => "Method of using SMIL animation in web pages",
                                                       links        => [
                                                                         {
                                                                           title => "Wikipedia",
                                                                           url => "https://en.wikipedia.org/wiki/XHTML%2BSMIL",
                                                                         },
                                                                         {
                                                                           title => "JS library to support XHTML+SMIL",
                                                                           url => "https://leunen.me/fakesmile/",
                                                                         },
                                                                       ],
                                                       notes        => "Internet Explorer supports the W3C proposal HTML+TIME, which is largely the same as XHTML+SMIL",
                                                       notes_by_num => {},
                                                       parent       => "xhtml",
                                                       spec         => "https://www.w3.org/TR/XHTMLplusSMIL/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "p" },
                                                                         and_ff  => { 137 => "p" },
                                                                         and_qq  => { "14.9" => "p" },
                                                                         and_uc  => { "15.5" => "p" },
                                                                         baidu   => { "13.52" => "p" },
                                                                         bb      => { 7 => "p" },
                                                                         chrome  => { 4 => "p" },
                                                                         edge    => { "5.5" => "n", "6" => "a", "9" => "n", "79" => "p" },
                                                                         firefox => { 2 => "p" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "p" },
                                                                         kaios   => { "2.5" => "p" },
                                                                         op_mini => { all => "p" },
                                                                         op_mob  => { 10 => "p" },
                                                                         opera   => { 9 => "p" },
                                                                         safari  => { "3.1" => "p" },
                                                                         samsung => { 4 => "p" },
                                                                       },
                                                       status       => "unoff",
                                                       title        => "XHTML+SMIL animation",
                                                       ucprefix     => 0,
                                                     },
                "xml-serializer"                  => {
                                                       categories   => ["DOM", "JS API"],
                                                       description  => "Various DOM parsing and serializing functions, specifically `DOMParser`, `XMLSerializer`, `innerHTML`, `outerHTML` and `insertAdjacentHTML`.",
                                                       keywords     => "parseFromString",
                                                       links        => [
                                                                         {
                                                                           title => "MDN Web Docs - XMLSerializer",
                                                                           url => "https://developer.mozilla.org/en-US/docs/XMLSerializer",
                                                                         },
                                                                         {
                                                                           title => "Comparing Document Position by John Resig",
                                                                           url => "https://johnresig.com/blog/dom-insertadjacenthtml/",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Partial support refers to lacking support for `parseFromString` on the DOMParser.",
                                                                         2 => "Partial support refers to supporting only `innerHTML`.",
                                                                         3 => "Partial support refers to supporting only `innerHTML` and `insertAdjacentHTML`.",
                                                                       },
                                                       spec         => "https://www.w3.org/TR/DOM-Parsing/",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "a #1", "4.4" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "y" },
                                                                         and_uc  => { "15.5" => "y" },
                                                                         baidu   => { "13.52" => "y" },
                                                                         bb      => { 7 => "a #1" },
                                                                         chrome  => { 4 => "a #1", 31 => "y" },
                                                                         edge    => { "5.5" => "a #2", "10" => "y" },
                                                                         firefox => { 2 => "a #2", 8 => "a #3", 11 => "a #1", 12 => "y" },
                                                                         ie_mob  => { 10 => "y" },
                                                                         ios_saf => { "3.2" => "a #1", "8" => "y" },
                                                                         kaios   => { "2.5" => "y" },
                                                                         op_mini => { all => "a #1" },
                                                                         op_mob  => { 10 => "u", 11 => "a #1", 80 => "y" },
                                                                         opera   => { "10.0-10.1" => "a #1", "18" => "y", "9" => "u" },
                                                                         safari  => { "3.1" => "a #1", "7.1" => "y" },
                                                                         samsung => { 4 => "y" },
                                                                       },
                                                       status       => "cr",
                                                       title        => "DOM Parsing and Serialization",
                                                       ucprefix     => 0,
                                                     },
                "zstd"                            => {
                                                       categories   => ["Other"],
                                                       chrome_id    => 6186023867908096,
                                                       description  => "Data compression method providing faster page loading while using less CPU power on the server.",
                                                       keywords     => "RFC8878",
                                                       links        => [
                                                                         {
                                                                           title => "Official Zstandard site",
                                                                           url => "https://facebook.github.io/zstd/",
                                                                         },
                                                                         {
                                                                           title => "Wikipedia article",
                                                                           url => "https://en.wikipedia.org/wiki/Zstd",
                                                                         },
                                                                         {
                                                                           title => "Support test",
                                                                           url => "https://www.daniel.priv.no/tools/zstd-browser-test/",
                                                                         },
                                                                         {
                                                                           title => "Firefox support bug",
                                                                           url => "https://bugzilla.mozilla.org/show_bug.cgi?id=zstd",
                                                                         },
                                                                         {
                                                                           title => "WebKit position on zstd",
                                                                           url => "https://github.com/WebKit/standards-positions/issues/168",
                                                                         },
                                                                       ],
                                                       notes_by_num => {
                                                                         1 => "Enabled through the `enable-zstd-content-encoding` feature flag in `chrome://flags`",
                                                                       },
                                                       spec         => "https://datatracker.ietf.org/doc/html/rfc8878",
                                                       stats        => {
                                                                         and_chr => { "2.1" => "n", "135" => "y" },
                                                                         and_ff  => { 137 => "y" },
                                                                         and_qq  => { "14.9" => "n" },
                                                                         and_uc  => { "15.5" => "n" },
                                                                         baidu   => { "13.52" => "n" },
                                                                         bb      => { 7 => "n" },
                                                                         chrome  => { 4 => "n", 118 => "n d #1", 123 => "y" },
                                                                         edge    => { "5.5" => "n", "118" => "n d #1", "123" => "y" },
                                                                         firefox => { 2 => "n", 126 => "y" },
                                                                         ie_mob  => { 10 => "n" },
                                                                         ios_saf => { "3.2" => "n" },
                                                                         kaios   => { "2.5" => "n" },
                                                                         op_mini => { all => "n" },
                                                                         op_mob  => { 10 => "n" },
                                                                         opera   => { 9 => "n", 109 => "y" },
                                                                         safari  => { "3.1" => "n" },
                                                                         samsung => { 4 => "n" },
                                                                       },
                                                       status       => "other",
                                                       title        => "zstd (Zstandard) content-encoding",
                                                       ucprefix     => 0,
                                                     },
              },
  statuses => {
                cr => "W3C Candidate Recommendation",
                ls => "WHATWG Living Standard",
                other => "Other",
                pr => "W3C Proposed Recommendation",
                rec => "W3C Recommendation",
                unoff => "Unofficial / Note",
                wd => "W3C Working Draft",
              },
}